学习框架的方法有三步,【导入jar包,xml配置,测试代码】,今天我们根据这个思路,演示一个最基本的hibernate项目,实现简单jdbc操作
目录
1、导包
hibernate
spring
mysql
junit
jdk8
2、代码配置
hibernate.cgf.xml配置
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//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/test</property>
<!-- 配置 hibernate 的基本信息 -->
<!-- hibernate 所使用的数据库方言 -->
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<!-- 执行操作时,是否在控制台打印sql -->
<property name="show_sql">true</property>
<!-- 是否对sql进行格式化 -->
<property name="format_sql">true</property>
<!-- 指定生成数据表的策略 -->
<property name="hbm2ddl.auto">update</property>
<mapping resource="com/suguowen/bean/User.hbm.xml"/>
<mapping class="com.suguowen.bean.User"/>
</session-factory>
</hibernate-configuration>
3、准备数据
数据库:创建数据库必须包含主键!!!(hibernate必须),随便插入一些数据
让idea自动生成mapping和bean
view→tool windows→persistence→general persistence maaping
看到如下,你们的cfg.xml没有加号的,我已经做完所有步骤所以有
指定mapping和bean文件生成的路径,指定根据哪个表生成mapping和bean
然后生成如下文件
User
mapping
4、开始测试
前期配置完成,现在开始通过hibernate玩jdbc操作
import com.suguowen.bean.User;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.jupiter.api.Test;
public class HibernateTest {
@Test
public void test(){
//1、创建工厂对象
SessionFactory sessionFactory = null;
// 1)创建配置对象:默认读取hibernate基本配置信息和关系映射信息
Configuration configuration = new Configuration().configure();
// 2)创建一个服务注册器,hibernate任何配置都需要在该对象注册才生效
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
.applySettings(configuration.getProperties())
.buildServiceRegistry();
// 3)实例化工厂
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
//2、创建一个session对象
Session session = sessionFactory.openSession();
//开启事务
Transaction transaction = session.beginTransaction();
//执行保存操作
User userEntity = new User(1001,"1","chinaBoy");
session.save(userEntity);
//提交事务
transaction.commit();
//关闭Session
session.close();
//关闭工厂对象
sessionFactory.close();
}
}
5、结果
没有任何bug的话,控制台输出
然后查看数据库,数据插入成功
到现在为止,一个hibernate案例完成