目的和要求
了解Hibernate的基本工作原理;
理解Hibernate的配置;
掌握简单映射文件的编写;
数据库建表
已知表结构如下:
Tbl_class 班级信息表
序 号 | 列 名 | 数据类型 | 长 度 | 小数位 | 主 键 | 字段说明 |
---|---|---|---|---|---|---|
1 | Class_id | int | 4 | 0 | √ | 班级编号 |
2 | Class_Name | varchar | 80 | 0 | 班级名称 |
Tbl_student 学生信息表
序 号 | 列 名 | 数据类型 | 长 度 | 小数位 | 主 键 | 字段说明 |
---|---|---|---|---|---|---|
1 | Stu_no | varchar | 2 | 0 | √ | 学号 |
2 | Class_id | int | 4 | 0 | 班级编号 | |
3 | Stu_Name | varchar | 80 | 0 | 姓名 | |
4 | Stu_sex | varchar | 2 | 0 | 性别 |
根据表结构可以得出建表语句
1 | SET NAMES utf8mb4; |
代码编写
建立配置工程
导入 MySql 的 jar 包
java
工程引入 jar
包跟 eclipse
有点不同,选择工具栏上 File
—> Project Structure
—> Libraries
—> 点击 +
—> Attach Files or Directories
—> 选择自己需要的 jar
包:
自动生成配置文件
首先需要配置并连接数据库,如下图所示使用 idea
连接数据库,根据表结构自动生成建立班级和学生的类,并编写 hbm
文件建立类和数据库表的映射:
生成的文件目录如下:
生成的代码如下:
- 生成的
hbm.xml
1 |
|
- 生成的
TblClass
1 | package xyz.zhzh.classes.model; |
- 生成的
TblStudent
1 | package xyz.zhzh.classes.model; |
Hibernate
主配置文件编写
在 src
下新建 hibernate.cfg.xml
,然后写入以下内容:
1 |
|
编写 Hibernate 类测试映射关系
新建 xyz.zhzh.classes.util
包,然后新建 HibernateUtil.java
类,写入:
1 | package xyz.zhzh.classes.util; |
可以看到终端打印出 sql
语句,并且数据库中已经存入相应信息,视为配置映射文件没有问题。
修改映射关系
由于学生和班级之间为多对一的关系,所以需要在学生类增加一个班级的属性,班级类中增加一个 List
的学生属性,并且在 hbm.xml
配置文件中增加该映射关系。
首先在 TblStudent
中添加:
1 | private TblClass studentClass; |
在 TblClass
中添加:
1 | private Set<TblStudent> students; |
在 hbm.xml
中两个类里对应添加以下映射关系
1 | <set name="students"> |
1 | <many-to-one name="studentClass" class="xyz.zhzh.classes.model.TblClass" column="Class_id"/> |
至此配置完成,可以正式开始开发