“Hibernate笔记 1:入门(开发步骤)”的版本间差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
 (→环境搭建)  | 
				 (→环境搭建)  | 
				||
| 第5行: | 第5行: | ||
=== 环境搭建 ===  | === 环境搭建 ===  | ||
步骤:  | 步骤:  | ||
# 导入相关 JAR 包;  | # 导入相关 JAR 包;  | ||
| 第59行: | 第58行: | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
=== 代码实现 ===  | |||
步骤:  | |||
# 加载 hibernate 核心配置文件:  | |||
#: <syntaxhighlight lang="Java" highlight="">  | |||
	// 到src下面找到名称是hibernate.cfg.xml  | |||
	// 在hibernate里面封装对象  | |||
	Configuration cfg = new Configuration();  | |||
	cfg.configure();  | |||
</syntaxhighlight>  | |||
# 创建 '''SessionFactory''' 对象:  | |||
#: <syntaxhighlight lang="Java" highlight="">  | |||
	// 读取 hibernate 核心配置文件内容,创建 sessionFactory  | |||
	// 在过程中,根据映射关系,在配置数据库里面把表创建  | |||
	SessionFactory sessionFactory = cfg.buildSessionFactory();  | |||
</syntaxhighlight>  | |||
# 使用 SessionFactory 创建 '''session''' 对象:  | |||
#: <syntaxhighlight lang="Java" highlight="">  | |||
	// 类似于连接  | |||
	Session session = sessionFactory.openSession();  | |||
</syntaxhighlight>  | |||
# 开启事务:  | |||
#: <syntaxhighlight lang="Java" highlight="">  | |||
	Transaction tx = session.beginTransaction();  | |||
</syntaxhighlight>  | |||
# 写具体逻辑 crud 操作:  | |||
#: <syntaxhighlight lang="Java" highlight="">  | |||
	User user = new User();  | |||
	user.setUsername("小马");  | |||
	user.setPassword("123");  | |||
	user.setAddress("美国");  | |||
	session.save(user);  | |||
</syntaxhighlight>  | |||
# 提交事务:  | |||
#: <syntaxhighlight lang="Java" highlight="">  | |||
	tx.commit();  | |||
</syntaxhighlight>  | |||
# 关闭资源:  | |||
#: <syntaxhighlight lang="Java" highlight="">  | |||
	session.close();  | |||
	sessionFactory.close();  | |||
</syntaxhighlight>  | |||
== 配置文件详解 ==  | == 配置文件详解 ==  | ||
2022年6月7日 (二) 05:35的版本
入门
以下内容展示一个 Hibernate 项目的入门过程。
环境搭建
步骤:
- 导入相关 JAR 包;
- Hibernate 包;
 - 日志包;(hibernate 本身没有日志输出相关的 jar 包)
 - mysql 驱动包;
 
 - 创建实体类;
- 使用 hibernate 时候,不需要自己手动创建表,hibernate 帮把表创建。
 
 - 配置映射关系;(如:“User.hbm.xml”)
- 示例:
 ... <hibernate-mapping> <!-- 实体类和数据库表对应 --> <class name="cn.itcast.entity.User" table="t_user"> <id name="uid" column="uid"> <generator = "uuid"></generator> </id> <property name="username" column="username"></property> <property name="password" column="password"></property> <property name="address" column="address"></property> </class> </hibernate-mapping>
 - 创建 Hibernate 核心配置文件(“hibernate.cfg.xml”);
- 示例:
 ... <hibernate-configuration> <session-factory> <!-- 数据库信息 --> <property name="hibernate.connection.driver.class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql:///hibernate_day01</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">admin</property> <!-- hibernate信息 --> <property name="hibernate.show_sql">true</property> <property name="hibernate.format_sql">true</property> <property name="hibernate.hbm2ddl.auto">update</property> <property name="hibernate.dialect">org.hibernate.dialect.MySqlDialect</property> <!-- 映射文件 --> <mapping resource = "cn/itcast/entity/User.hbm.xml"/> <session-factory> </hibernate-configuration>
 
代码实现
步骤:
- 加载 hibernate 核心配置文件:
// 到src下面找到名称是hibernate.cfg.xml // 在hibernate里面封装对象 Configuration cfg = new Configuration(); cfg.configure();
 - 创建 SessionFactory 对象:
// 读取 hibernate 核心配置文件内容,创建 sessionFactory // 在过程中,根据映射关系,在配置数据库里面把表创建 SessionFactory sessionFactory = cfg.buildSessionFactory();
 - 使用 SessionFactory 创建 session 对象:
// 类似于连接 Session session = sessionFactory.openSession();
 - 开启事务:
Transaction tx = session.beginTransaction();
 - 写具体逻辑 crud 操作:
User user = new User(); user.setUsername("小马"); user.setPassword("123"); user.setAddress("美国"); session.save(user);
 - 提交事务:
tx.commit();
 - 关闭资源:
session.close(); sessionFactory.close();
 
配置文件详解
映射关系配置文件
“映射关系”,即:实体类和数据库表一一对应的关系。
需要使用配置文件实现映射关系,步骤:
- 创建 xml 格式的配置文件;
- 映射配置文件名称和位置没有固定要求;
- 建议:在实体类所在包里面创建,名称为“<实体类名称>.hbm.xml”;
 
 
 - 映射配置文件名称和位置没有固定要求;
 - 配置文件中需要引入 dtd 约束;
- (xml 的约束格式包括:dtd、schema,此处使用 dtd)
 
 - 配置映射关系;
 
示例:“User.hbm.xml”
... <hibernate-mapping> <!-- 实体类和数据库表对应 --> <class name="cn.itcast.entity.User" table="t_user"> <!-- 实体类唯一性属性与表唯一字段对应 --> <id name="uid" column="uid"> <!-- 设置字段增长方式(native为自增) --> <generator = "uuid"></generator> </id> <property name="username" column="username"></property> <property name="password" column="password"></property> <property name="address" column="address"></property> </class> </hibernate-mapping>
Hibernate 核心配置文件
Hibernate 核心配置文件,即“hibernate.cfg.xml”文件,其名称与位置均是固定的。
关于“Hibernate 核心配置文件”:
1、文件名称和位置固定:
   - 位置:必须位于 src 下。
   - 名称:必须为“hibernate.cfg.xml”。
2、同样需要引入 dtd 约束;
3、hibernate 操作过程中,只会加载核心配置文件,其他配置文件不会加载。
   - “映射关系配置文件”需要配置到“核心配置文件”中,才会被加载。
“hibernate.cfg.xml”格式:
<hibernate-configuration> <session-factory> <!-- 第一部分 数据库信息 --> ... <!-- 第二部分 hibernate信息 --> ... <!-- 第三部分 映射文件 --> <mapping resource="..."/> <session-factory> </hibernate-configuration>
步骤:
- 配置数据库信息:
 - 配置 Hibernate 信息:
 - 配置“映射关系配置文件”: