Mybatis之解析Mapper XML文件

概述

Mybatis作为半自动化的ORM框架,Mapper XML是关键,Mapper XML文件可以定义各种sql,并且可以映射到Mapper的方法上,还有一种方式就是在Mapper接口方法上添加注解。

Mapper XML解析

Mybatis使用XMLMapperBuilder解析Mapper XML文件,分别解析元素:

  1. 解析namespace:namespace需要设置成Mapper接口的全限定名
  2. 解析 <cache-ref/> <cache/>
  3. 解析<parameterMap/>,已经过时了,可以不管
  4. 解析<resultMap/>:会转变成ResultMap对象,ResultMap 中的每一条结果字段的映射都会转换成ResultMapping对象,ResultMap对象会添加到Configuration
  5. 解析<sql/>
  6. 解析<select/><insert/><update/><delete/>,交给XMLStatementBuilder对象解析,每一个标签都对应一个MappedStatement对象,最终添加到Configuration,MappedStatement对象中包含最终执行的SQL语句等属性

Mybatis底层使用SqlSession来操作数据库,首先从Configuration中获取指定statement的MappedStatement,然后在执行其他数据库操作。所以Mapper接口的作用就是连接了用户程序和SqlSession,Mapper接口的代理实现会将接口方法,拼装成statement,交给SqlSession。

 

mybatis 使用的入口是Mapper接口的代理实现类,我们自己使用mybatis需要根据SqlSession获取Mapper接口代理实现,Spring集成的话已经把Mapper接口的代理实现类转成bean了,可以直接使用

转载于:https://my.oschina.net/cregu/blog/3007649

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值