zoukankan      html  css  js  c++  java
  • 【Mybatis】Mybatis实现原理

    一、Mybatis使用

      1、Mybatis源码编译参考:【Mybatis】MyBatis源码编译

      2、Mybatis使用参考:【Mybatis】MyBatis快速入门(一)

    二、Mybatis原理

    1、Mybatis相关类的类图

      

    2、Mybatis执行过程

    • 分析过程代码
       1 @Test
       2 public void test1() throws IOException {
       3 
       4     // 1、根据mybatis全局配置文件,获取SqlSessionFactory
       5     String resource = "mybatis-config.xml";
       6     // 使用MyBatis提供的Resources类加载mybatis的配置文件,获取输入流
       7     InputStream inputStream = Resources.getResourceAsStream(resource);
       8     // 构建sqlSession的工厂
       9     SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
      10 
      11     // 2、从SqlSession工厂中,获取sqlsession,用来执行sql
      12     SqlSession session = sqlSessionFactory.openSession();
      13     try {
      14         // 查询selectOne
      15         // @param statement Unique identifier matching the statement to use.      一个唯一标识
      16         // @param parameter A parameter object to pass to the statement.        参数
      17         Employee employee = (Employee) session.selectOne("com.test.mapper.EmployeeMapper.getEmployeeById", 1);
      18 
      19         Employee employee2  = session.getMapper(EmployeeMapper.class).getEmployeeById(1);
      20         // 输出信息
      21         System.out.println(employee);
      22         System.out.println(employee2);
      23     } finally {
      24         // 关闭session
      25         session.close();
      26     }
      27 }
    • 执行过程图

        

      

  • 相关阅读:
    javascript之this的深入学习
    记一次前端面试
    nodejs学习
    Javascript内置对象
    Javascript事件
    全屏滚动插件小结
    Javascript函数的深入学习
    近年来前端开发趋势,MVVM框架,Vue.js的核心思想
    Javascript的for ... in循环
    JavaScript的对象深入学习
  • 原文地址:https://www.cnblogs.com/h--d/p/14757737.html
Copyright © 2011-2022 走看看