首先创建一个 maven 项目,下面是结构图:
1. 引入相关类库
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.0.Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
2. 编写实体类
public class User {
private int userId;
private String userName;
private int age;
private String address;
// set/get方法省略
}
3. 配置 hbm 映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.bdqn.zmj.entity.User" table="USERTABLE">
<id name="userId" column="USERID" type="int">
<generator class="native"/>
</id>
<property name="userName" column="USERNAME" type="java.lang.String"/>
<property name="age" column="AGE" type="int"/>
<property name="address" column="ADDRESS" type="java.lang.String"/>
</class>
</hibernate-mapping>
<generator class="native"/>
: mysql 数据库里面代表主键自增
4. 配置核心配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 数据源 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL55Dialect</property>
<property name="hibernate.connection.dirver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?serverTimezone=UTC</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">1234</property>
<!-- hibernate其他配置 -->
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<!--
update/create:
create:每次启动项目都会重建表,如果你表里面有数据,也会丢失,慎用
update:如果没表,就创建,有表就更新表
-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- mapper文件配置 -->
<mapping resource="com/bdqn/zmj/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
5. 测试
public class TestMain {
Session session;
public void init() {
// 加载配置文件(默认读取hibernate.cfg.xml)
Configuration config = new Configuration().configure();
//创建SessionFactory
SessionFactory factory = config.buildSessionFactory();
session = factory.openSession();
}
@Test
public void seletById() {
init();//初始化
User user = session.load(User.class,1);//查询id为1的数据
System.out.println(JSON.toJSONString(user));
}
}
运行后 hibernate 会自动建表如下图:
自己填点测试数据查询结果如下: