Hibernate(一)

📅 2026/7/28 18:10:53
Hibernate(一)
总结Hibernate使用步骤贴1搭建环境1.1 导入所有需要的jar包包括 Hibernate框架包、sql驱动包、日志包。1.2创建对应的实体类根据orm思想创建的实体类将与与表中的各项属性对应只是对应不是完全一致。public class User { //主键 private int uid; private String username; private String password; private String address; public int getUid() { return uid; } public void setUid(int uid) { this.uid uid; } public String getUsername() { return username; } public void setUsername(String username) { this.username username; } public String getPassword() { return password; } public void setPassword(String password) { this.password password; } public String getAddress() { return address; } public void setAddress(String address) { this.address address; } Override public String toString() { return User [uid uid , username username , password password , address address ]; } }1.3实体和表的关系映射xml文件xml文件通常以实体类.hbm.xml命名 可以更改。hnm即hibernate xml通常放在src目录下 可以更改。?xml version1.0 encodingUtf-8? !--dit约束-- !DOCTYPE hibernate-mapping PUBLIC -//Hibernate/Hibernate Mapping DTD 3.0//EN http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd hibernate-mapping !-- 实体类名与数据库中表名的对应 -- class namecom.vv.entity.User tablettt_user !-- id name对应实体类唯一标识 column生成的表字段名称 -- id nameuid columnuid !-- generator class配置主键生成策略 native表示根据数据库类型自动匹配 自动增长 -- generator classnative/generator /id !-- 配置其他属性和表字段的对应 -- property nameusername columnusername/property property namepassword columnpassword/property property nameaddress columnaddress/property /class /hibernate-mappingdtd约束可以访问Hibernate dtd文件官网这里添加的约束为hibernate-mapping-3.0.dtd直接复制前面到xml文件中其中主键生成策略即generator class有多种方案欲了解请自行搜索。1.4核心配置文件名字只能hibernate.cfg.xml。位置只能在src下。这里添加的约束为hibernate-configuration.dtd同上直接复制就好?xml version1.0 encodingUTF-8? !--dit约束-- !DOCTYPE hibernate-configuration PUBLIC -//Hibernate/Hibernate Configuration DTD 3.0//EN http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd !--根据官方下载的包中的properties文件配置property属性-- hibernate-configuration session-factory property namehibernate.connection.driver_classcom.mysql.jdbc.Driver/property property namehibernate.connection.urljdbc:mysql://localhost:3306/springday/property property namehibernate.connection.usernameroot/property property namehibernate.connection.password123456/property !-- 是否打印sql语句 -- property namehibernate.show_sqltrue/property !-- 是否整理SQL语句 -- property namehibernate.format_sqltrue/property !-- 无表自动创建 -- property namehibernate.hbm2ddl.auto update/property !-- 配置数据库方言 -- property namehibernate.dialectorg.hibernate.dialect.MySQLDialect/property !-- 配置映射文件 -- mapping resourcecom/vv/entity/User.hbm.xml/ /session-factory /hibernate-configurationhibernate.properties文件找到对应数据库2.测试代码public class Demo { public static void main(String[] args) { // 加载核心配置文件 Configuration con new Configuration().configure(); con.configure(); // 创建sessionFactory对象 SessionFactory sFactory con.buildSessionFactory(); // 使用sessionFactory创建session对象 Session session sFactory.openSession(); // 获取并开启事务 Transaction transaction session.beginTransaction(); // 业务代码 User user new User(阿飞,666,四川); System.out.println(user); session.save(user); // 提交事务 transaction.commit(); // 关闭资源 session.close(); sFactory.close(); } }