mybatis-spring

简介

通过简化实现流程,把MyBatis的最核心的内容展示出

mybatis的加载过程

执行流程

mybatis-spring_第1张图片

类图

mybatis-spring_第2张图片

核心流程

public class ApiTest {
    @Test
    public void test_queryUserInfoById() {
        String resource = "mybatis-config-datasource.xml";
        Reader reader;
        try {
            reader = Resources.getResourceAsReader(resource);
            SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);
            SqlSession session = sqlMapper.openSession();
            try {
                User user = session.selectOne("cn.bugstack.middleware.mybatis.test.dao.IUserDao.queryUserInfoById", 1L);
                System.out.println(JSON.toJSONString(user));
                List<User> users = session.selectList("cn.bugstack.middleware.mybatis.test.dao.IUserDao.queryUserList");
                System.out.println(JSON.toJSONString(users));
            } finally {
                session.close();
                reader.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
  }
  1. 通过路径获取流
  2. 通过流信息,创建会话工厂
  3. 打开会话
  4. 执行sql
    通过入参获取到指定的xNode信息
    解析入参,sql解析
    执行sql
    解析出参
  5. 关闭会话

小结

通过简单的配置,构建一个完整的SqlSession,避免用户自己手动创建、释放链接,并解决了sql和代码相关的耦合。

mybatis-spring

待补充

你可能感兴趣的:(mybatis,spring,java)