MyBatis的架构设计以及实例剖析

主页 > 教育科技 >

热度 °C

  MyBatis是当前什分流行壹代的ORM框架,它的干用很绵软弱小,条是其完成却比较骈杂、优雅。本文首要叙MyBatis的架构设计文思,同时讨论MyBatis的几内中心部件,然后结合壹个select查询实例,深募化代码,到来探寻求MyBatis的完成。

  

  注:上图很父亲程度上参考了iteye 上的chenjc_it

  所写的落文规律剖析之二:框架所拥有设计 中的MyBatis架构体图,chenjc_it尽结的什分好,赞壹个!

  MyBatis和数据库的提交互拥有两种方法:

  a.运用传统的MyBatis供的API;

  b. 运用Mapper接口

  1.1.运用传统的MyBatis供的API

  此雕刻是传统的转提交Statement Id 和查询参数给

  SqlSession 对象,运用

  SqlSession对象完成和数据库的提交互;MyBatis

  供了什分便宜和骈杂的API,供用户完成对数据库的增改查数据操干,以及对数据库衔接信息和MyBatis

  本身配备信息的维养护操干。

  

  上述运用MyBatis

  的方法,是创立壹个和数据库打提交道的SqlSession对象,然后根据Statement

  Id 和参数到来操干数据库,此雕刻种方法固然很骈杂和使用,条是它不快宜面向对象言语的概念和面向接口编程的编程习惯。鉴于面向接口的编程是面向对象的父亲趋势,MyBatis

  为了顺应此雕刻壹趋势,添加以了第二种运用MyBatis

  顶持接口(Interface)调用方法。

  1.2. 运用Mapper接口

  MyBatis

  将配备文件中的每壹个

  节点笼统为壹个 Mapper 接口,而此雕刻个接口中音皓的方法和跟

  节点中的

  节点项对应,即

  节点的id值为Mapper

  接口中的方法名称,parameterType

  值体即兴Mapper

  对应方法的入参典型,而resultMap

  值则对应了Mapper

  接口体即兴的前往值典型容许前往结实集儿子的元斋典型。

  

  根据MyBatis

  的配备规范配备好后,经度过SqlSession.getMapper(XXXMapper.class) 方法,MyBatis

  会根据相应的接口音皓的方法信息,经度过动态代劳动机制生成壹个Mapper

  实例,我们运用Mapper

  接口的某壹个方法时,MyBatis

  会根据此雕刻个方法的方法名和参数典型,决定Statement Id,底儿子层还是经度过SqlSession.select(“statementId”,parameterObject);容许SqlSession.update(“statementId”,parameterObject);