这是我参与更文挑战的第2天,活动详情查看:更文挑战
搭建Hibernate环境
第一步: 导入Hibernate的jar包
1)因为在使用hibernate时候,有日志信息输出.hibernate本身没有支持日志输出的jar包,导入其他的日志的jar包
不要忘记mysql驱动的jar包
导入所有的jar包
导入以后要选中,然后点击Build Path,Add to build path
第二步:创建实体类
1.使用hibernate时候,不需要自己手动创建表,hibernate会帮助我们创建表
第三步: 配置实体类和数据库表一一对应关系(映射关系)
使用配置文件实现映射关系
- 创建一个xml格式的配置文件
映射配置文件名称和位置没有固定要求 建议,在实体类所在包里面创建,实体类名称.xml
2)配置文件是xml格式,在配置文件中首先引入xml约束 在hibernate里面引入的约束是dtd约束
3)配置映射关系
<!-- 配置类和表对应
class标签
name属性:实体类全路径
table属性:数据库表的名称
-->
<class name="com.entity.User" table="t_user">
<!-- 配置实体类id和表id对应
hibernate要求实体类里面有一个属性值唯一
hibernate要求表有字段作为唯一值
-->
<!-- id标签
name属性:实体类里面id属性值
column属性:生成的表字段名称
-->
<id name="uid" column="uid">
<!-- 设置数据库表id增长策略
native:生成表id值就是主键自动增长
-->
<generator class="native"></generator>
</id>
<!-- 配置其他属性和表的字段的对应
name属性:实体类属性名称
column属性:生成的表字段名称
-->
<property name="username" column="username"></property>
<property name="password" column="password"></property>
<property name="address" column="address"></property>
</class>
</hibernate-mapping>
第四步:创建hibernate核心配置文件
1)核心配置文件格式xml,但是核心配置文件名称和位置是固定的
位置:必须在src下面
名称:必须hibernate.cfg.cml
2)引入dtd约束
3)hibernate操作过程中只会加载核心配置文件,其他配置文件不会进行加载
第一部分:配置数据库信息
第二部分:配置hibernate信息
第三部分:把映射文件放在核心配置文件
实现添加操作
public void testAdd() {
// 第一步:加载hibernate核心配置文件
//到src下面找到名称是hibernate.cfg.xml
//在hibernate里面封装对象,读取配置文件中的信息
Configuration cfg = new Configuration();
cfg.configure();
// 第二步:创建一个SessionFactory对象
//读取hibernate核心配置文件内容,创建sessionFactory
//在过程中,根据映射关系,在配置数据库里面把表创建
SessionFactory sessionFactory = cfg.buildSessionFactory();
// 第三步:使用SessionFactory创建session对象
//session类似于连接connection
Session session = sessionFactory.openSession();
// 第四步:开启事务
Transaction tx = session.beginTransaction();
// 第五步:写具体逻辑crud操作
//添加功能
User user = new User();
user.setUsername("ice");
user.setAddress("葫芦岛");
user.setPassword("666");
//调用session的方法实现添加
session.save(user);
// 第六步:提交事务
tx.commit();
// 第七步:关闭资源
session.close();
sessionFactory.close();
看到效果:
(1)是否生成表
(2)是否有记录