创建工具类之获取SqlSession

我们在编写后端程序时,每次想运行一个SQL语句,就需要创建一个SqlSession,因此我们可以封装一个方法,来简化我们的操作。

一般我们需要先在src/main/java下建立一个utils包,专门用来存放各种方法。后期我们还需要其他的工具类都可以在此地编写。然后写好下面代码:

java 复制代码
public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory = null;
    static {     //静态代码段
        try{
            Reader reader = Resources.getResourceAsReader("mybatis-config.xml");  //先创建一个流
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);     //读取配置文件,创建工厂
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //整个过程只需要一个Sqlsession工厂,而每次进行SQL语句的执行,需要一个新的session。
    public static SqlSession getSession(){
        return sqlSessionFactory.openSession();   //用工厂创建session
    }
}

一般在执行时如下:

java 复制代码
try (SqlSession session = MybatisUtils.getSession()) {
    // 执行 SQL 操作
    session.commit(); // 如果需要手动提交事务
    session.close();  //手动关闭
} catch (Exception e) {
    e.printStackTrace();
}
相关推荐
阿正的梦工坊2 小时前
JavaScript 微任务与宏任务完全指南
开发语言·javascript·ecmascript
chools2 小时前
【AI超级智能体】快速搞懂工具调用Tool Calling 和 MCP协议
java·人工智能·学习·ai
知行合一。。。3 小时前
Python--05--面向对象(属性,方法)
android·开发语言·python
李白你好3 小时前
TongWeb EJB 反序列化生成工具(Java-Chain 插件)
java·安全
青梅橘子皮3 小时前
C语言---指针的应用以及一些面试题
c语言·开发语言·算法
浅时光_c3 小时前
3 shell脚本编程
linux·开发语言·bash
Evand J4 小时前
【三维轨迹目标定位,CKF+RTS,MATLAB程序】基于CKF与RTS平滑的三维非线性目标跟踪(距离+方位角+俯仰角)
开发语言·matlab·目标跟踪
U盘失踪了4 小时前
Java 的 JAR 是什么?
java·jar
今天又在写代码4 小时前
java-v2
java·开发语言
competes5 小时前
慈善基金投资底层逻辑应用 顶层代码低代码配置平台开发结构方式数据存储模块
java·开发语言·数据库·windows·sql