导航
- 导入相关的jar包- 使用Maven- 导入本地的jar包
- 创建数据库以及数据表- 配置Hibernate- 创建实体类User- 为实体类创建user.hdm.xml- 创建hibernate.cfg.xml
- 测试运行- 创建HibernateUtil工具类(非必要)编写测试代码
- IDEA内连接Mysql
- 导入相关的jar包
文件结构:
- 使用Maven
可以使用Maven,在pom.xml中加载配置
使用Maven导入的时候需要注意:
由于Maven,编译的工作是由Maven程序来完成的,而Maven默认只会把src/main/resources文件夹下的文件拷贝到target/classes文件夹下,所以我们在之后创建xxx.hdm.xml时需要放到resourse文件加下,或者在pom.xml中添加相关配置(
- 导入本地的jar包
在菜单选择File-Project Structure 选择ProjectSettings下的Libaries,点击“+”号,选择Java 导入Hibernate相关的包。 继续导入mysql相关的包
- 创建数据库以及数据表
create database test;
use test;
create table t_user(
id int(11) not null primary key auto_increment,
name varchar(30) not null,
age int(11) not null
);
insert into t_user values(2,'allwinter',22);
使用IDEA连接数据库进行查看(详细操作后面写)
- 配置Hibernate
- 创建实体类User
package com.allwinter.pojo;
/**
* com.allwinter.pojo
* 2021/5/7
* 19:55
*/
public class User {
private int id;
private String name;
private int age;
public User() {
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
- 为实体类创建user.hdm.xml
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
- 创建hibernate.cfg.xml
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
需要注意数据库驱动中mysql5.0与8.0的不同,以及url的不同写法:
5.08.0Drivercom.mysql.jdbc.Drivercom.mysql.cj.jdbc.DriverUrl正常写需要在后面添加serverTimezone(serverTimezone=Asia/Shanghai)
- 测试运行
- 创建HibernateUtil工具类(非必要)
package com.allwinter.utils;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;
/**
* com.allwinter.utils
* 2021/5/7
* 19:09
*/
public class HibernateUtil {
private static SessionFactory sessionfactory;
static {
try{
//实例化SessionFactory;
sessionfactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable e){
System.err.println("SessionFactory 创建失败!" + e);
throw new ExceptionInInitializerError(e);
}
}
public static SessionFactory getSessionfactory(){
return sessionfactory;
}
}
编写测试代码
public static void main(String[] args) {
//使用工具类实例化SessionFactory
SessionFactory sessionfactory = HibernateUtil.getSessionfactory();
//获取Session对象
Session session = sessionfactory.openSession();
//开启事务
Transaction tx = session.beginTransaction();
User user = new User("Yang",22);
session.save(user);
tx.commit();
session.close();
sessionfactory.close();
}
- IDEA内连接Mysql
8.0版本需要在这里设置一下serverTimezone的值