Mybatis工具类的封装

为什么要进行Mybatis工具类的封装?

        每次我们执行数据库操作都需要做以下操作:

        //读取配置文件
        InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
        //通过配置文件创建SqlSessionFactory
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //通过sqlSessionFactory创建核心类  sqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //通过sqlSession获取dao接口
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        //执行增删改查操作
        User user = new User();
        user.setUsername("张三");
        user.setPassword("123456");
        user.setRid(2);
        userMapper.addUser(user);
        //提交sqlSession
        sqlSession.commit();
        //关闭sqlSession
        sqlSession.close();

        执行一次就要写这么多的代码,就算是每次复制粘贴也需要赋值相当多的内容,漏掉一行就可能导致报错, 因此我们通过封装一个MybatisUtil工具类来简化我们的代码以提高我们代码的效率,同时也方便我们去检查维护代码。

封装MybatisUtil工具类

        我们新建一个工具类来封装读取配置文件、通过配置文件创建SqlSessionFactory、通过sqlSessionFactory创建核心类 sqlSession、提交sqlSession、关闭sqlSession这几个操作,代码如下:

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;
    static {
        //读取配置文件
        InputStream inputStream = null;
        try {
            inputStream = Resources.getResourceAsStream("mybatis-config.xml");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        //通过配置文件创建SqlSessionFactory
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    }
    public static SqlSession getSqlSession(){
        //通过sqlSessionFactory创建核心类 sqlSession
        return sqlSessionFactory.openSession();
    }
    public static void closeSqlSession(SqlSession sqlSession){
        //提交sqlSession
        sqlSession.commit();
        //关闭sqlSession
        sqlSession.close();
    }
}

        至此我们的MybatisUtil工具类就封装好啦,接下来给大家提供一个实例来展示如何调用这个工具类,直接上代码:

public boolean getUserByUsername(String username) {
        SqlSession sqlSession = MybatisUtil.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        Boolean b = userMapper.getUserByUsername(username);
        MybatisUtil.closeSqlSession(sqlSession);
        return b;
    }

        相比较封装之前的代码是不是简洁了很多呢,如果有小伙伴不知道该如何配置Mybatis,可以看我的下一篇文章,在下一篇文章将会给大家展示一下Mybatis的一整套配置文件。

        求赞求赞,关注一下我吧,各位大官人!!!给大家磕一个!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码来码去(未来可期)

感谢您的打赏,我们一起进步

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值