三、接口绑定方案

一、接口绑定方案

  MyBatis 中, 提供了一套接口绑定方案. 程序员可以提供一个接口, 然后提供对应接口的一个 mapper.xml 文件.

  MyBatis 会自动将接口和 xml 文件进行绑定. 实际上就是

  MyBatis 会根据接口和对应的 xml 文件创建接口的实现类.换言之, 就是可以得到接口类型的对象, 方便方法的调用.

二、实现方式

2.1定义接口

package com.bjsxt.mapper;

import java.util.List;

import com.bjsxt.pojo.User;

public interface UserMapper {
   List<User> selAll(); }

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

注意:

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

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

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

 1 <mapper namespace="com.mapper.UserMapper">
 2 
 3 <select id="selAll" resultType="User">
 4 
 5 
 6   select * from t_user
 7 
 8 </select>
 9 
10 </mapper>

2.3 在核心配置文件中扫描接口(mybatis.xml)

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

<mappers>

<mapper class="com.bjsxt.mapper.UserMapper" />

</mappers>

b) 当扫描多个接口时, 为简化配置, 可以使用 package 标签, 表示扫描对应包下的所有接口.

<mappers>

<package name="com.bjsxt.mapper" />

</mappers>

2.4 应用

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

@Test
public void testBind() {
SqlSession session = MyBatisUtil.getSession();

UserMapper mapper = session.getMapper(UserMapper.class); 
List<User> list = mapper.selAll();
for (User user : list) { 
System.out.println(user);
}
session.close();
}
原文地址:https://www.cnblogs.com/qiaoxin11/p/12855402.html