国王陛下万万岁

导航

 

工具类里面一般是静态方法,通过把读取mybatis主配置文件获取SqlSession的一些列繁琐步骤封装成工具类,减少代码量。

Mybatis工具类

src/main/java/com/oxygen/utils/MybatisUtil.java

package com.oxygen.utils;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

public class MybatisUtil {
    private static SqlSessionFactory sqlSessionFactory;
/**
 * 使用静态代码块的原因:
 * 一个sqlSessionFactory往往对于mybati主配置文件里面的一个环境(一个数据库)
 *  sqlSessionFactory只需要一个就行了
 *  MybatisUtil工具类在第一次加载时解析mybatis的主配置文件,创建sqlSessionFactory对象
 */

    static {
        String config = "mybatis-config.xml";
        try {
            InputStream in = Resources.getResourceAsStream(config);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    public static SqlSession getSqlSession() {
        SqlSession session = null;
        if (sqlSessionFactory != null) {
            session = sqlSessionFactory.openSession(true);
        }
        return session;
    }
}

 

posted on 2022-09-12 16:17  国王陛下万万岁  阅读(151)  评论(0编辑  收藏  举报