一、数据库相关操作
1、建库
sql脚本
use home_work;
create table if not exists `user`(
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'id',
`user_name` varchar(128) NOT NULL COMMENT 'name',
`user_age` int(10) COMMENT 'age',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '用户表';
insert into user(id,user_name,user_age) values(1,'张三','20');
insert into user(id,user_name,user_age) values(2,'李四','30');
insert into user(id,user_name,user_age) values(3,'貂蝉','40');
insert into user(id,user_name,user_age) values(4,'露娜','50');
数据已经存储与数据库中
二、IDEA中框架搭建
1、新建一个Hibernate项目,Create default hibernate configuration and main clas默认为未勾选,我们需要将其勾选,以便它能自动创建hibernate配置文件及程序主类。下方的Libraries显示为Loading versions,稍等一会,就会显示如下选项,如果是第一次使用Hibernate,则选择Download选项,然后点击Next按钮,将会自动下载Hibernate包。等熟练之后可以点击Configure进行相应配置,以后可通过User library直接使用Hibernate包,无需再下载。
2、输入项目名称,确定项目位置
3、添加Maven依赖,方便后续使用。右键项目名,点击Add Framework Support,勾选maven,点击ok。
4、添加完后左侧会出现一些新的包,主类Main和hibernate配置文件会自动放入java包下,我们手动reimport下maven依赖
5、修改pom.xml文件(后面有pom.xml代码可直接复制),dependency内的mysql-connector-java为链接Mysql所需的jar包,我用的是5.1.47版本,也可以选用其他版本,但要注意如果Mysql为8.0版本,则mysql-connector-java须为8.0版本以上;Mysql为8.0版本以下,一般情况mysql-connector-java用5.0以上版本即可。
6、打开hibernate.cfg.xml文件,添加数据库配置
7、使用idea链接数据库
8、点击Test Connection,出现绿色对号表示成功
三、代码编写
1、实体类
package entity;
/**
* Created with IntelliJ IDEA.
*
* @ClassName: User
* @Author: Duxinyu
* @Date: 2021-05-11 10:38
* @Description:
*/
public class User {
private int id;
private String name;
private int age;
public User() {
}
public User(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", 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;
}
}
2、配置user.hbm.xml(也可以选择用tools中的persistence,用idea自动配置)这里我们手动编写xml配置文件,方便扩展
3、创建Util包,在Util包下创建HibernateUtil类,类里面写入
package Util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class hibernateUtil {
private static SessionFactory sessionFactory;
static{
try {
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable e) {
throw new ExceptionInInitializerError(e);
}
}
public static SessionFactory getSessionFactory(){
return sessionFactory;
}
public static void shutdown(){
getSessionFactory().close();
}
}
成功插入:
四、遇到的问题:
这个property一定是放在mapping前面的,不然会报错,其他的就没有什么大问题了,小问题自己注意就好。