package com.dkx.mybatis.util;
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.InputStream;
/**
 * @author Dkx
 * @version 1.0
 * @2023/2/1414:20
 * @function
 * @comment
 * sqlsessionfactory --> sqlsession
 */
@SuppressWarnings("all")
public class MybatisUtils {
    private static SqlSessionFactory sqlsessionfactory;
    static{
        try{
//            使用 MyBatis 第一步,获取 SqlSessionFactory 对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlsessionfactory = new SqlSessionFactoryBuilder().build(inputStream);
        }catch(Exception e){}
    }
//    既然有了 sqlSessionFactory, 顾名思义,我们就可以从中获得 SqlSession 的实例了
//    SqlSession 完全包含了面向数据库执行,SQL 命令所需的所有方法
    public static SqlSession getSqlSession(){
        return sqlsessionfactory.openSession();
    }
}