hibernate入门案例
-
创建数据库表(数据库表自己准备)
-
创建项目导入hibernate和数据库驱动jar包
-
本例使用的maven项目,数据库是8.0及以上(数据库驱动包根据版本调整)
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.21.Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
-
2、创建与数据库表对应的实体类
package com.yl.bean;
import java.io.Serializable;
import java.sql.Date;
/**
* 用户实体类
*/
public class User implements Serializable {
private Integer id;//id
private String username;//用户名
private Date birthday;//生日
private String sex;//性别
private String address;//地址
public User() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
3、创建hibernate全局配置文件(hibernate.cfg.xml)
4、创建实体类映射配置文件(类名.hbm.xml)
5、测试
public static void main(String[] args) {
//加载配置文件
Configuration cig = new Configuration().configure();
//创建工厂
SessionFactory sessionFactory = cig.buildSessionFactory();
//创建Session对象
Session session = sessionFactory.openSession();
//开启事务
Transaction t = session.beginTransaction();
User user=new User();
user.setAddress("广州");
user.setUsername("yl001");
Date date=new Date(System.currentTimeMillis());
user.setBirthday(date);
user.setSex("男");
//添加用户
session.save(user);
//提交事务
t.commit();
//关闭资源
session.close();
sessionFactory.close();
}
记得快乐
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!