【Hibernate】03 配置文件 & API
2021-03-06 10:27
标签:div 调用 核心 let turn test 对象创建 mamicode dai - 字段的Column属性可以不写缺省,这将表示和实体类的属性标识一样 - type 属性用于声明表字段在Java中的类型,这个属性可不写缺省,自动匹配 我们查看源码发现这个方法他就是这么写的 所以为什么才要求我们Hibernate的核心配置文件必须是这个名称 或者使用这个重载方法,注入文件路径 使用配置对象创建会话工厂 读取配置JDBC参数,和映射文件信息,在数据库中创建数据表或者更新 创建SessionFactory的过程中是特别消耗资源的 最佳使用: 工厂实例有且仅有唯一一个实例,并一直存留围绕整个项目的运行器 不应该多次创建,所以即单例模式,写在静态代码块即可 编写Hibernate工具类 实现数据库的CRUD操作 - 添加 SAVE - 修改 UPDATE - 删除 DELETE 查询是一个特殊的场景: - 根据ID查询,GET Session是一个单线程的对象,不能被公用!!! 最佳使用是在方法中,使用完毕立刻释放 下次使用再到工厂获取 - 通过会话对象获取实例,开启事务 不要等到执行SQL之后再开启事务,建议获取到会话实例之后立刻开启事务 - 提交事务 - 如果失败,应该进行回滚处理 【Hibernate】03 配置文件 & API 标签:div 调用 核心 let turn test 对象创建 mamicode dai 原文地址:https://www.cnblogs.com/mindzone/p/12862628.html映射器文件:
Hibernate 4个核心API
Configuration 配置
// 创建配置对象
Configuration configuration = new Configuration();
// 调用配置方法,这个方法会直接去找hibernate.cfg.xml 不需要按名字注入配置
configuration.configure();
/config/hibernate.cfg.xml
SesionFactory 会话工厂
package cn.dai.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
/**
* @author ArkD42
* @file Hibernate
* @create 2020 - 05 - 10 - 11:18
*/
public class HibernateUtil {
private HibernateUtil(){}
private static SessionFactory sessionFactory;
static {
Configuration configuration = new Configuration();
configuration.configure();
sessionFactory = configuration.buildSessionFactory();
}
public static Session getSession(){
return sessionFactory.openSession();
}
}
Session SQL会话
Transaction
Transaction transaction = session.beginTransaction();
// 提交事物
transaction.commit();
// 回滚事物
transaction.rollback();
使用工具类再简化的测试
@Test
public void letsGetThisWork2(){
Session session = HibernateUtil.getSession();
Transaction transaction = session.beginTransaction();
session.save(new User(null,"阿伟","332244"));
transaction.commit();
session.close();
}
文章标题:【Hibernate】03 配置文件 & API
文章链接:http://soscw.com/index.php/essay/60817.html