创建工具类之获取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 分钟前
Spring异步体系与事务一致性实战指南
java·spring·eventlistener
leo__5202 分钟前
基于C#与HALCON开发的完整视觉检测系统案例
开发语言·c#·视觉检测
这也能行4 分钟前
Tomcat
java·tomcat
小杍随笔5 分钟前
【Rust中所有符号的作用及使用场景详解】
java·算法·rust
亚马逊云开发者5 分钟前
别再烧 Token 了!我用这 5 个配置把 OpenClaw 费用砍了一半
java
yeshihouhou5 分钟前
redisson实现延迟队列
java·前端·数据库
猿饵块6 分钟前
python--sys
开发语言·python
故河8 分钟前
Python工具:Conda 包管理器
开发语言·python·conda
那我掉的头发算什么8 分钟前
【Linux】Linux基本使用和程序部署
linux·运维·服务器·数据库·spring·mybatis
明码10 分钟前
Pathlib库
java·服务器·前端