1.导入有hibernate的required和jpa的jar包,数据库驱动jar包,日志jar包
2.创建实体类,必须有一个属性有唯一的值
package com.hui.hibernate; public class User { private int uid;/*hibernate要求实体类中有一个属性唯一*/ private String username; private String password; private String address; public User() { // TODO Auto-generated constructor stub } 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; } }
3.配置实体类和数据库表的映射关系,使用配置文件
@1创建xml格式配置文件
@2给创建的xml文件引入约束
@3配置映射关系
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- 这个文件就是hibernate配置实体类和数据库表映射关系的配置文件 --> 3 <!-- 给hibernate配置文件引入的约束 --> 4 <!DOCTYPE hibernate-mapping PUBLIC 5 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 6 "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 7 8 <hibernate-mapping> 9 <!--1.配置类和表的对应关系 10 class标签 11 name:实体类全路径名 12 table:数据库表名 --> 13 <class name="com.hui.hibernate.User" table="t_user"> 14 <!--2.配置实体类id和表id对应 15 hibernate要求实体类有一个属性唯一值 16 hibernate要求表有字段作为唯一值 --> 17 18 19 <!--id标签 20 name:实体类中id属性名称 21 colnum:生成的表字段名称 --> 22 <id name="uid" colnum="uid"> 23 <!--设置数据库表id增长策略 24 native:生成表id值就是主键且自动增长 --> 25 <generator class="native"></generator> 26 </id> 27 28 <!--配置其他属性和表字段对应 29 name:实体类属性名称 30 colnum:生成表的对应字段名称 --> 31 32 <property name="username" colnum="username"></property> 33 <property name="password" colnum="password"></property> 34 <property name="address" colnum="address"></property> 35 36 </class> 37 38 </hibernate-mapping>
4.创建hibernate核心配置文件
@1.核心配置文件格式为xml,但是核心配置文件位置是固定的,位置必须在src下,名称必须为hibernate.cfg.xml
@2.引入dtd约束
@3进行相关配置hibernate操作过程只会加载核心配置文件,其他配置文件不会加载,所以应将映射关系配置文件放到核心配置文件中
---配置数据库信息
---配置hibernate信息
---把映射文件放引入到核心配置文件中
<?xml version="1.0" encoding="UTF-8"?> <!--这是hibernate的核心配置文件 --> <!--引入dtd约束 --> <!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> <!--1.配置数据库信息,必须要有 --> <!-- 配置hibernate采用的数据库驱动,此处为mysql --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <!--配置数据库的url位本地的名称为 testjdbc的数据库 --> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/testjdbc</property> <!--配置用户名 --> <property name="hibernate.connection.username">root</property> <!--配置密码 --> <property name="hibernate.connection.password">241602</property> <!--2.配置hibernate信息,可选配置 --> <!-- 输出底层的sql语句 --> <property name="hibernate.show_sql">true</property> <!-- 对底层sql语句进行格式化 --> <property name="hibernate.format_sql">true</property> <!-- update:如果已经有表,更新,如果没有,创建 --> <property name="hibernate.hbm2ddl.auto">update</property> <!--配置数据库方言 在mysql中实现分页关键字limit,只能用于mysql中 oracle数据库实现分页用rownum 让hibernate框架识别不同数据库自己特有的语句 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!--3.把映射关系配置文件内容放进来,必须的,通过resource引入映射关系文件内容 /hibernate/src/com/hui/hibernate/User.hbm.xml --> <mapping resource="com/hui/hibernate/User.hbm.xml"/> </session-factory> </hibernate-configuration>