一:导入所需要的jar包
先下载到需要的jar包,然后将jar包导入到lib目录下。
二:配置映射文件
创建配置文件,将下列代码内容复制到新建的.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">
配置步骤
1:class标签中 name=“实体类的权名” --------- table=“映射的表”。
2:id标签中 name=“表的主键名称” ----------type=“主键的属性”(可有可无,如果没有默认为表中设定的属性)-----------generator标签因为设置了主键自增长所以把class设置为"native"。
3:配置表中其余属性:使用property标签 name=“实体中的属性”--------column=“表中列的名称”,重复步骤三配置表中的其余字段。
<?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>
<!-- 配置实体类与表之间的映射关系 -->
<!-- name:实体类权限名称
table:数据库表名
-->
<class name="com.tl.entity.User" table="user">
<!-- id配置主键 name属性:对应实体中的属性名称 type:属性类型,可以省略-->
<id name="uid" type="java.lang.Integer">
<!-- generator:配置主键生成的策略-->
<generator class="native"></generator>
</id>
<!-- 实体中其他属性的映射 -->
<property name="username" column="username"></property>
<property name="password" column="password"></property>
<property name="age" column="age"></property>
</class>
</hibernate-mapping>
三:配置默认文件hibernate.cfg.xml
将下列代码内容复制到新建的.xml文件中(ps:如果文件名不使用默认的文件名(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.properties.txt)
1:配置方言
2:配置连接数据库的驱动
3:配置url
4:配置数据库用户名
5:配置用户密码
6:加载映射(输入路径时要不 ". "用 " / " 替换)
<?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="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 数据库连接信息 -->
<property name="connection.dirver_class">com.mysql.cj.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://127.0.0.1:3306/tlxy?serverTimezone=UTC</property>
<property name="connection.username">root</property>
<property name="connection.password">1234</property>
<!-- 显示sql -->
<property name="show_sql">true</property>
<!-- 格式化sql -->
<property name="format_sql">true</property>
<!-- 设置提交 -->
<property name="connection.autocommit">false</property>
<!-- 加载映射 -->
<mapping resource="com/tl/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Hibernate测试
新建一个测试类
使用session的load方法根据id查询数据库中的内容。
package com.tx.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.tl.entity.User;
public class HibernateTest {
public static void main(String[] args) {
//1.先创建Configration加载主配置文件
Configuration configure = new Configuration().configure();
//2.获取session工厂
SessionFactory seesionFactory = configure.buildSessionFactory();
//3.获取session,这个对象中提供一套操作增删改查的方法
Session session = seesionFactory.openSession();
User user = (User) session.load(User.class, 2);
System.out.println(user);
//4.最后关闭
session.close();
}
}
输出User [uid=7, username=csxg, password=1234, age=88]