天天看点

一个mapper接口有多个mapper.xml 文件_MyBatis接口绑定方案-MyBatis(9)

一个mapper接口有多个mapper.xml 文件_MyBatis接口绑定方案-MyBatis(9)
MyBatis 中, 提供了一套接口绑定方案. 程序员可以提供一个接口, 然后提供对应接口的一个 mapper.xml 文件. MyBatis 会自动将接口和 xml 文件进行绑定. 实际上就是MyBatis 会根据接口和对应的 xml 文件创建接口的实现类. 换言之, 就是可以得到接口类型的对象, 方便方法的调用.

1.1 实现方式

1.1.1 定义接口

package 
           

1.1.2 编写对应接口的映射文件

注意:

(a) xml 文件名要和接口名一致

(b) namespace 属性必须为接口的全限定路径

(c) id 属性必须和接口对应的方法名一致

<mapper 
           

1.1.3 在核心配置文件中扫描接口

(a) 扫描单个接口, 可以使用 mapper 标签的 class 属性

<mappers>
           

(b) 当扫描多个接口时, 为简化配置, 可以使用 package 标签,

表示扫描对应包下的所有接口.

<mappers>
           

1.1.4 应用

在使用时, 可以通过 SqlSession 对象的 getMapper 方法,得到接口的代理对象, 从而可以调用定义好的方法.

@Test
           

2. 通过接口绑定解决多参数的传递

1.1 方式一

(a) 接口中定义方法

User 
           

(b) 映射文件中提供对应的标签. 此时, SQL语句中获取方式

有两种, 通过#{index}或#{param+数字}的方式.

<select 
           

1.2 方式二

(a) 接口中定义方法, 参数中使用@Param 注解设定参数名用于在 SQL 语句中使用.

User 
           

(b) 映射文件中提供对应的标签. 此时, SQL语句中获取方式有两种, 通过#{参数名称}或#

{param+数字}的方式.

<select 
           

感谢~