- Hibernate框架关键词:dao层框架、以面向对象的方式操作数据库、orm思想(对象关系映射,通过映射文件配置对象和数据库中表的关系)
Hibernate框架搭建步骤
导包
准备实体类和orm元数据
User.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40package pojo;
public class User{
private int id;
private String name;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", password='" + password + '\'' +
'}';
}
}User.hbm.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<hibernate-mapping package="pojo">
<!--
name:即实体类的全名
table:映射到数据库里面的那个表的名称
-->
<class name="User" table="tb_user">
<!-- class下必须要有一个id的子元素 -->
<!-- id是用于描述主键的 -->
<!-- type是规定类型 -->
<id name="id" column="id" type="int">
<!-- 主键生成策略 -->
<generator class="native"></generator>
</id>
<!--
使用property来描述属性与字段的对应关系
如果length忽略不写,且你的表是自动创建这种方案,那么length的默认长度是255
-->
<property name="name" column="name" length="20"></property>
<property name="password" column="password" length="50"></property>
</class>
</hibernate-mapping>
下表是Hibernate的类型对应表
创建主配置文件
- hibernate.cfg.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<hibernate-configuration>
<session-factory>
<!-- 配置关于数据库连接的四个项:driverClass url username password -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///hibernate</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<!-- 可以将向数据库发送的SQL语句显示出来 -->
<property name="hibernate.show_sql">true</property>
<!-- 格式化SQL语句 -->
<property name="hibernate.format_sql">true</property>
<!-- hibernate的方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!--
create:每次加载hibernate时都自动创建表
create-drop:每次加载hibernate时自动创建表,结束时删除表。适合用于开发环境。
update:最常用的属性。第一次加载hibernate时创建表结构;
以后每次加载都会更新表结构,但是不会删除以前的记录。。适用于运行环境。
validate:每次加载都验证数据库表结构,并不会创建表
-->
<property name="hibernate.hbm2ddl.auto">create</property>
<!-- 配置hibernate的映射文件所在的位置 -->
<mapping resource="pojo/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
书写测试代码
1 |
|
查看控制台会发现创表语句和插入语句。