mybatis的工作原理

1、调取mybatis的核心配置文件:mybatis-config.xml;

2、在核心配置文件中连接数据库资源文件:xxxxx.properties;

3、连接数据库资源完成后在核心配置文件中配置mybatis默认的数据库环境(environments),设置数据库访问方式,初始化数据源;

4、最后在核心配置文件中加载SQL映射文件:与数据访问接口名称一致 的XXXX.xml文件;

5、利用SqlSessionFactoryBuilder().bulid(Resources.getResourceAsReader(核心配置文件))获取SqlSessionFactory对象;

6、利用SqlSessionFactory对象调用openSession()方法获取SqlSession对象;

7、利用SqlSession对象中的方法来对数据库进行操作:

    7.1、利用SqlSession对象的getMapper()方法来获取数据访问接口对象,直接调用数据访问接口中的数据库操作方法完成对数据库的操作(推荐使用);

    7.2、利用SqlSession自带的insert/update/delete/selectOne/selectList...等方法来对数据库直接进行操作,

      int insert(“数据访问接口的包名+接口名+方法名”,数据访问接口的方法的参数);
      int update(“数据访问接口的包名+接口名+方法名”,数据访问接口的方法的参数);
      int delete(“数据访问接口的包名+接口名+方法名”,数据访问接口的方法的参数);
      <T> selectOne(“数据访问接口的包名+接口名+方法名”,数据访问接口的方法的参数);
      List<T> selectList(“数据访问接口的包名+接口名+方法名”,数据访问接口的方法的参数);

8、上述操作都是需要开发者手动进行的操作,而底层操作是由mybatis底层定义的Executor执行器来完成的,在Executor执行器中的MappedStatement参数执行了如下三种操作:

8.1、得到数据库操作方法的调用参数;

8.2、得到SQL映射文件中的SQL语句的id属性;

8.3、生成SQL语句的执行,转换成结果映射;

注意:Executor 执行器执行SQL语句时,根据SQL映射文件中对应元素<select>id属性值去选择对应的sql语句,此时<select>id属性值有多个符合条件,那么此时执行哪一个<select>元素对应的SQL语句就无法判断?为了解决这个问题,就要求数据访问接口中的方法是不能重载的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值