Mybatis工具类

前提:已经配置好mybatis的环境。(核心配置文件、mapper映射、实体类、数据库、mapper接口)

工具类:

java 复制代码
public class MybatisUtil {

    private static SqlSessionFactory sqlSessionFactory = null;
    private static String xmlPath = "";//mybatis核心配置文件

    private MybatisUtil(){}

    static {
        try {
            InputStream inputStream = Resources.getResourceAsStream(xmlPath);
            sqlSessionFactory  = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

    }

    public static SqlSession openSession(){
        return  sqlSessionFactory.openSession();
    }//手动提交事务,默认。

    public static SqlSession openSession(Boolean flag){
        return  sqlSessionFactory.openSession(flag);
    }//自动提交事务

    public static void closeSqlSession(SqlSession sqlSession){
        if (sqlSession!=null){
            sqlSession.close();
        }
    }//自动提交事务,true时为自动开启事务

    public static void dateRoolBack(SqlSession sqlSession){
        if (sqlSession!=null){
            sqlSession.rollback();
        }
    }

       public static void dateCommit(SqlSession sqlSession){
        if (sqlSession!=null){
            sqlSession.commit();
        }
    }
}

使用:

java 复制代码
 SqlSession sqlSession= MybatisUtil.openSession();
Mapper接口  mapper接口对象 =  sqlSession.getMapper(Mapper接口.class);
······
相关推荐
SelectDB1 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶1 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵2 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils2 天前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
Databend2 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
ClouGence4 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将4 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils5 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波5 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
倔强的石头_6 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库