博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis 详解(六)------通过mapper接口加载映射文件
阅读量:6584 次
发布时间:2019-06-24

本文共 2127 字,大约阅读时间需要 7 分钟。

  通过 mapper 接口加载映射文件,这对于后面 ssm三大框架 的整合是非常重要的。那么什么是通过 mapper 接口加载映射文件呢?

  我们首先看以前的做法,在全局配置文件 mybatis-configuration.xml 通过 <mappers> 标签来加载映射文件,那么如果我们项目足够大,有很多映射文件呢,难道我们每一个映射文件都这样加载吗,这样肯定是不行的,那么我们就需要使用 mapper 接口来加载映射文件

  以前的做法:

  

  改进做法:使用 mapper 接口来加载映射文件

1、定义 userMapper 接口

package com.ys.mapper;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import com.ys.po.User;public interface UserMapper {	//根据 id 查询 user 表数据	public User selectUserById(int id) throws Exception;	//向 user 表插入一条数据	public void insertUser(User user) throws Exception;		//根据 id 修改 user 表数据	public void updateUserById(User user) throws Exception;		//根据 id 删除 user 表数据	public void deleteUserById(int id) throws Exception;}

 

2、在全局配置文件 mybatis-configuration.xml 文件中加载 UserMapper 接口(单个加载映射文件)

 

3、编写UserMapper.xml 文件

update user u
u.username = #{username},
u.sex = #{sex},
where id=#{id}
select LAST_INSERT_ID()
insert into user(username,sex,birthday,address) value(#{username},#{sex},#{birthday},#{address})
delete from user where id=#{id}

  

4、测试

//根据id查询user表数据	@Test	public void testSelectUserById() throws Exception{		//获取mapper接口		UserMapper userMapper = session.getMapper(UserMapper.class);		User user = userMapper.selectUserById(1);		System.out.println(user);		session.close();	}

  

 

 

5、批量加载映射文件

  

 

6、注意 

  1、UserMapper 接口必须要和 UserMapper.xml 文件同名且在同一个包下,也就是说 UserMapper.xml 文件中的namespace是UserMapper接口的全类名

  

 

  2、UserMapper接口中的方法名和 UserMapper.xml 文件中定义的 id 一致

 

  3、UserMapper接口输入参数类型要和 UserMapper.xml 中定义的 parameterType 一致

 

  4、UserMapper接口返回数据类型要和 UserMapper.xml 中定义的 resultType 一致

转载地址:http://qpxno.baihongyu.com/

你可能感兴趣的文章
关于absolute 和 relative 定位的定义
查看>>
Robolectric结合Android Studio的使用
查看>>
c#控制台中如何实现回车键退出任意键继续
查看>>
历届试题 错误票据
查看>>
评论功能
查看>>
常见ES6新属性
查看>>
cesium primitive方式 ————http://blog.sina.com.cn/s/blog_15e866bbe0102y0ji.html
查看>>
BZOJ 1211 [HNOI2004]树的计数
查看>>
读《用户故事与敏捷方法》
查看>>
COM编程_第一讲_深入COM框架以及实现简单的COM
查看>>
Json对象处理.将对象处理成dic数组.
查看>>
java GUI画满天星
查看>>
java面试每日一题12
查看>>
【转】使用TortoiseSVN搭建本地的版本控制库
查看>>
第五十九篇、OC录制小视频
查看>>
Struts2_day03--OGNL的#、%使用
查看>>
Javascript:getElementsByClassName
查看>>
Android音频开发之——如何播放一帧音频
查看>>
MySQL 关于存储过程那点事
查看>>
代码片段
查看>>