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

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


3、编写UserMapper.xml 文件

<?xml version="1.0" encoding="UTF-8" ?>/span>  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">                     resultType="com.ys.po.User" parameterType="int">               select * from user where id = #{id1}                               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表数据@Testpublic 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 一致

本系列教程持续更新,可以微信搜索「 IT可乐 」第一时间阅读。回复《电子书》有我为大家特别筛选的书籍资料


mybatis update返回值_mybatis 详解(六)通过mapper接口加载映射文件相关推荐

  1. java接口的映射文件,详解mybatis通过mapper接口加载映射文件

    通过 mapper 接口加载映射文件,这对于后面 ssm三大框架 的整合是非常重要的.那么什么是通过 mapper 接口加载映射文件呢? 我们首先看以前的做法,在全局配置文件 mybatis-conf ...

  2. mybatis------通过mapper接口加载映射文件(六)

    通过 mapper 接口加载映射文件,这对于后面 ssm三大框架 的整合是非常重要的.那么什么是通过 mapper 接口加载映射文件呢? 我们首先看以前的做法,在全局配置文件 mybatis-conf ...

  3. (转)C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

    原文链接:https://www.cnblogs.com/landeanfen/p/5501487.html 阅读目录 一.void无返回值 二.IHttpActionResult 1.Json(T ...

  4. window.open返回值实例详解(子窗口向父窗口回显)

    window.open返回值实例详解(子窗口向父窗口回显) window.open实例: 1.父页面: <script language="javascript" type= ...

  5. vue 加载页面时触发时间_详解Vue.js在页面加载时执行某个方法

    详解Vue.js在页面加载时执行某个方法 jQuery中可以这样写 vue中,如果要达到相同效果,可以使用vue的生命周期函数,如create或者mounted 附上vue.js的生命周期函数执行流程 ...

  6. mybatis update 返回值

    mybatis sql: <update id="test" parameterType="map">update test_0731 set na ...

  7. mybatis update返回值的意义

    2019独角兽企业重金招聘Python工程师标准>>> update返回值的意义是影响了几行记录,而非更新了几行记录 转载于:https://my.oschina.net/28923 ...

  8. python input与返回值-Python 详解基本语法_函数_返回值

    Python 详解基本语法 概要: 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作.可以说是函数的返回值令 ...

  9. python3主函数返回值_Python 详解基本语法_函数_返回值

    Python 详解基本语法 概要: 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作.可以说是函数的返回值令 ...

最新文章

  1. u-boot中filesize环境变量【转载】
  2. 别拿BI不当产品(下)BI的AI化
  3. DPM2010恢复exchange2010单个用户邮箱邮件
  4. 关于stm32F4CAN总线调试
  5. junit junit_JUnit理论简介
  6. SpringMVC的JSP页面中EL表达式不起作用${}
  7. 双十二心动礼遇,送你3本算法好书
  8. Android开发笔记(四十二)Broadcast的生命周期
  9. 【photoshop Action Manager】动作管理器- 获取预设管理器信息
  10. 火山PC模块使用案例-动态创建多个组件教程
  11. Ubuntu18.04安装后检测不到集成声卡问题
  12. Spider爬虫笔记[更新中...]
  13. CTO、技术总监、首席架构师的区别
  14. Unity lua os.time超过2038年1月19日3时14分07秒会出问题的解决办法(新千年虫问题、C#时间)
  15. macbook蓝牙pan未连接_关于 MacBook 的电池问题,你了解多少
  16. 影响SAR图像电磁散射特性的因素
  17. Linux centos7.6 安装elasticsearch8.x (es8) 教程
  18. postman使用教程1
  19. 共阴数码管段码-共阳数码管段码
  20. html中输入框中“请输入关键字”的设置

热门文章

  1. Redis持久化 RDB和AOF 比较与选择
  2. 利剑无意之scala小考核
  3. Spark2.3.0的DataFrame去哪了,DataSet是哪位?
  4. 《Dream(梦想)》,无力的我,想放弃的我,深深的问自己,什么是梦想!!!
  5. leetcode 380. Insert Delete GetRandom O(1) | 380. O(1) 时间插入、删除和获取随机元素(Java)
  6. leetcode 341. Flatten Nested List Iterator | 341. 扁平化嵌套列表迭代器(Java)
  7. Java序列化 - 分析不同序列化方式的优劣
  8. gdb常用命令及参考文档
  9. mysql数据库latin1转utf8_三种转换Mysql数据库数据编码的窍门-latin1转utf8
  10. Jenkins构建自动化任务