看了网上的很多文章,说mapper接口里不能写重载方法,感觉这种说法不对,mapper接口是可以实现重载方法的.

实现方法

例如:

package mapper;import pojo.User;import java.util.List;public interface UserMapper {List<User> findUsers();List<User> findUsers(int id);}

然后在UserMapper.xml中利用Mybatis的动态sql就可以实现.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="mapper.UserMapper"><select id="findUsers" resultType="user">select * from user <where><if test="id != null">id = #{id}</if></where></select>
</mapper>

这样就实现了在mapper中写重载方法

认为不能重载的原因

有很多人认为不能重载的原因在于:

在映射文件中同一个namespace下写了多个相同的id对应mapper接口中的重载方法,但是由于mybatis查找sql是通过namespace+id的方式,所以出现了不唯一性,导致出错.故而认为mybatis的mapper中不可以写重载方法,这种说法我认为是错误的.

以上仅代表个人实践得出的观点,如有错误欢迎指正

Mybatis中mapper接口里方法重载的实现相关推荐

  1. mybatis中mapper接口的参数设置几种方法

    方法一:忽略parameterType,加@param("xxx")注解 在mapper接口中加上@param("xxx")注解,则在配置文件中直接用即可 Li ...

  2. 6 MyBatis基于Mapper接口CURD

    6.1 MyBatis进行CURD: 方式1: 基于映射文件+SqlSession 特点: 依赖SqlSession对象方法,实现CURD.比如selectList(),selectOne(),ins ...

  3. Mybatis中Mapper动态代理方式

    文章目录 开发规范 Mapper接口开发需要遵循以下规范 Mapper.xml(映射文件) UserMapper(接口文件) 加载UserMapper.xml文件 总结 selectOne和selec ...

  4. mybatis的mapper接口与xml传参问题

    本文来说下mybatis的mapper接口与xml传参问题 文章目录 单个基础数据类型的传参 多个基础数据类型的传参 单个javabean 多个javabean 单个基础数据类型的传参 也就是说,接口 ...

  5. java关于重写正确,在Java中,以下关于方法重载和方法重写描述正确的是( )

    在Java中,以下关于方法重载和方法重写描述正确的是( ) 答:方法重写的返回值类型必须相同或相容.(或是其子类) 对乙酰氨基酚临床用途是抗炎抗风湿作用 答:错 观念艺术是哲学的反思,传统的理论可以对 ...

  6. implements在java,implements在java中实现接口的方法

    本教程操作环境:windows7系统.java10版,DELL G3电脑. 1.概念 (1)关键字implements是一个类,实现一个接口用的关键字,它是用来实现接口中定义的抽象方法. (2)接口在 ...

  7. TKmybatis的使用,MyBatis的Mapper接口、Example方法

    文章目录 TKmybatis的使用 TKmybatis的常用注解 Mapper中的方法(dao继承可用) Example方法设置查询条件 TKmybatis的使用 pom.xml导入依赖 <!- ...

  8. Mybatis中 Dao接口和XML文件的SQL如何建立关联

    一.解析XML: 首先,Mybatis在初始化 SqlSessionFactoryBean 的时候,找到 mapperLocations 路径去解析里面所有的XML文件,这里我们重点关注两部分. 1. ...

  9. Mybatis中Mapper映射文件详解(默认值)

    Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd.我们先大体上看看支持哪些配置?如下所示,从Eclipse里截了个屏: 从上图可以看出, ...

最新文章

  1. PHP编实现程动态图像的创建
  2. 没附上语音包资源的python文字转语音
  3. Wince 添加中文字库
  4. php是实现点击改变状态,PHP利用header函数实现各种状态的跳转
  5. Robot Framework--08 List Variables-List变量及其用法
  6. Skynet 游戏服务器开发实战
  7. 基于kafka的定时消息/任务服务
  8. c#过滤字符串中相同的字符串只保留一个
  9. 浏览器主页劫持查杀,查杀主页劫持木马方法
  10. 基于范德蒙矩阵的Erasure code技术详解
  11. 冠捷云计算机功能,USB3.0显示器亮相!AOC多款LCD新品赏
  12. 海康威视、python环境下onvif安装,多通道摄像头获取rtsp视频流
  13. linux桌面壁纸目录,[多图]回顾每一款默认Ubuntu壁纸
  14. php composer 安装报错 Package fxp/composer-asset-plugin has a PHP requirement incompatible with your PHP
  15. FPGA:ov7725摄像头通过VGA/HDMI显示RGB565格式的图像
  16. UI设计中签到页面如何设计
  17. 【2018,中国智能+】新智元10万+热文排行,AI爆发没有看客
  18. bash文件无法运行,提示没有那个文件或目录的解决方法
  19. 【转载】面试题:面向对象的特征和基本特征有哪些 之抽象
  20. 32.768khz晶振在手表中的作用

热门文章

  1. 用python将数据标准化
  2. matlab中.P文件的使用说明
  3. 机器学习算法在自动驾驶领域的应用大盘点!
  4. 计蒜客NOIP模拟D1T2
  5. 《Windows Server 2012 Hyper-V虚拟化管理实践》——3.2 Hyper-V主机日常管理
  6. PetaPoco 使用总结(二)
  7. Flash/Flex学习笔记(30):不用startDrag和stopDrag的对象拖动
  8. WinCE6.0的极速启动
  9. C#使用ping命令
  10. C#封装WebBrowser时NewWindow事件无法获取Url的解决方法