hibernate 開發流程

  

   4.1 導包java

   4.2 配置文件:數據庫

文件名:hibernate.cfg.xmlsession

位置:src下oracle

<session-factory>app

<!-- 添加配置信息:數據庫鏈接參數 -->ide

<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>優化

<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>ui

<property name="hibernate.connection.username">hr</property>url

<property name="hibernate.connection.password">hr</property>spa

<!-- 添加配置信息:hibernate 自身屬性

dialect :方言,指定數據類型,hibernate能夠針對不一樣的數據庫作出相應的優化

-->

<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>

</session-factory>

4.3 ORM 搭建:

*搭建映射文件,實現對Object 和RelationShip的映射。

文件名:任意        xx.hbm.xml

位置:任意

<!-- 

映射文件,映射點:

1.將實體類和庫表映射起來

2.實體中的屬性和表中的列

-->

<class  name="com.c40.entity.User" table="t_user40">

<id name="id" column="t_id" type="java.lang.Integer">

<!-- 

主鍵生成器:負責在 插入數據時,維護主鍵,保證主鍵惟一

increment:遞增

-->

<generator class="increment"></generator>

</id>

<property name="name" column="t_name" type="java.lang.String"></property>

<property name="age" column="t_age" type="java.lang.Integer"></property>

</class>

4.4  在配置文件 註冊 映射文件

<!-- 註冊映射文件 -->

<mapping resource="com/c40/config/user.hbm.xml"/>

4.5 API

     *Configuration:負責加載全部配置,並構建SessionFactory

 *SessionFactory:Session工廠,負責生產Session

 *Session  : 等價於JDBC中的Connection,能夠進行CURD

   查詢:User user=(User)session.get(User.class,1);//查詢ID爲1的用戶數據

   插入://開啓事務

Transaction tx=session.beginTransaction();

User user=new User(null,"liuxuhui",20);

session.save(user);//插入數據

//提交事務

tx.commit();

刪除://開啓事務

Transaction tx=session.beginTransaction();

User user=(User)session.get(User.class,4);

session.delete(user);//刪除

//提交事務

tx.commit();

修改://開啓事務

Transaction tx=session.beginTransaction();

User user=(User)session.get(User.class,1);

user.setAge(21);

user.setName("luzhenw");

session.update(user);//更新

//提交事務

tx.commit();

事務控制:

//開啓事務

Transaction tx=session.beginTransaction();

//提交事務

tx.commit();

//回滾事務

tx.rollback();

關閉資源:

session.close();

相關文章
相關標籤/搜索