首先创建一个 maven 项目,下面是结构图:
-
引入相关类库
org.hibernate hibernate-core 5.4.0.Final mysql mysql-connector-java 8.0.15 -
编写实体类
public class User {
private int userId; private String userName; private int age; private String address; // set/get方法省略
}
-
配置 hbm 映射文件
<?xml version="1.0" encoding="UTF-8"?> : mysql 数据库里面代表主键自增 -
配置核心配置文件
<?xml version="1.0" encoding="UTF-8"?> org.hibernate.dialect.MySQL55Dialect com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/test?serverTimezone=UTC root 1234<!-- 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>
-
测试
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 会自动建表如下图:
自己填点测试数据查询结果如下: