Java笔记之hibernate(一):构建项目
1.Eclipse上新建Java Project项目hibernate_demo
2.src同级目录下新建lib文件夹,导入jar包,并Build Path
3.src目录下新建hibernate.cfg.xml文件
<?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="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/keeper?characterEncoding=utf-8</property> <property name="connection.username">root</property> <property name="connection.password">123456</property> <!-- MySQL方言配置 --> <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> <property name="show_sql">true</property> <property name="hbm2ddl.auto">update</property> <mapping resource="com/hibernate/demo/bean/Employee.hbm.xml"/> </session-factory> </hibernate-configuration>
4.新建com.hibernate.demo.bean包,并在其中新建Employee类和Employee.hbm.xml文件
Employee类
package com.hibernate.demo.bean; public class Employee { private Integer empId; private String empName; public Employee() { } public Employee(Integer empId, String empName) { super(); this.empId = empId; this.empName = empName; } public Integer getEmpId() { return empId; } public void setEmpId(Integer empId) { this.empId = empId; } public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName; } @Override public String toString() { return "Employee [empId=" + empId + ", empName=" + empName + "]"; } }
Employee.hbm.xml
<?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 package="com.hibernate.demo.bean"> <!-- 映射Employee类与t_employee表 --> <class name="Employee" table="t_employee"> <id name="empId" column="emp_id"> <!-- 声明主键生成策略为自增 --> <generator class="native"></generator> </id> <property name="empName" column="emp_name"></property> </class> </hibernate-mapping>
5.新建com.hibernate.demo.test包,并在其中新建Test1类
package com.hibernate.demo.test; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.classic.Session; import com.hibernate.demo.bean.Employee; public class Test1 { public static void main(String[] args) { //加载配置文件,构建会话工厂对象 SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); //获取会话对象 Session session = sessionFactory.openSession(); //根据类名和主键值获取对象 Employee employee = (Employee) session.get(Employee.class, 1); System.out.println(employee.getEmpName()); } }
6.运行Test1类
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Hibernate: select employee0_.emp_id as emp1_0_0_, employee0_.emp_name as emp2_0_0_ from t_employee employee0_ where employee0_.emp_id=? 张三
【推荐】国内首个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帮你做增删改查!!