4.1 导包
4.2 配置文件:
文件名:hibernate.cfg.xml
位置:src下
<session-factory>
<!-- 添加配置信息:数据库连接参数 -->
<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
<property name="hibernate.connection.username">hr</property>
<property name="hibernate.connection.password">hr</property>
<!-- 添加配置信息: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();