第一步配置hibernate.cfg.xml(在src目录下新建)
<?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> <!-- 1、数据库连接信息 --> <!-- 指定数据方言 --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://192.168.1.59:3306/hibernate</property> <property name="connection.username">root</property> <property name="connection.password">1234</property> <!-- 2、通用配置信息 --> <!-- 打印sql语句 --> <property name="show_sql">true</property> <!-- 格式化sql语句 --> <property name="format_sql">true</property> <!-- 映射文件信息 --> <mapping resource="com/project/pojo/User.hbm.xml" /> </session-factory > </hibernate-configuration>
第二步新建pojo类(普通JavaBean)
package com.project.pojo; import java.io.Serializable; public class User implements Serializable{ private Integer id; private String name; private int age; public Integer getId() { return id; } public void setId(Integer 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; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", age=" + age + "]"; } }
第三步:配置关联pojo的User.hbm.xml(可与pojo同包)
<?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"> <!-- package指定类所在的包,如果不指定,那么在指定class的name时,需要指定完全限定名 --> <hibernate-mapping package="com.project.pojo"> <!-- class指定类的映射信息 name指定类名,如果没有指定package,需要指定完全限定名(com.project.pojo.User) table指定类对应的数据表的表名,如果不指定默认和类名相同 --> <class name="User" table="t_user"> <!-- 主键映射:在hibernate中,类所对应的表必须要有主键 name为类的属性名 column是属性名所对应的数据表中的字段名称 默认和属性名一致 type是属性的类型 默认和属性的类型一致 --> <id name="id" column="id" type="int"> <!-- 主键生成策略 --> <generator class="native"></generator> </id> <!-- property指属性的映射 --> <property name="name" column="name" type="java.lang.String"></property> <property name="age" column="age" type="int"></property> </class> </hibernate-mapping>
第四步:测试是否成功
package com.project.test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.boot.registry.StandardServiceRegistry; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.cfg.Configuration; import com.project.pojo.User; public class Test { public static void main(String[] args) { //1、读取hibernate.cfg.xml配置文件 Configuration cfg = new Configuration().configure(); //2、创建服务注册器 StandardServiceRegistry registry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build(); //3、新建sessionFactory对象 SessionFactory factory = cfg.buildSessionFactory(registry); //4、创建session对象 Session session = factory.openSession(); //5、获取数据 User user = (User) session.get(User.class, 1); System.out.println(user); //6、释放资源 session.close(); factory.close(); } }