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();