Mybatis中mapper接口里方法重载的实现
看了网上的很多文章,说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接口里方法重载的实现相关推荐
- mybatis中mapper接口的参数设置几种方法
方法一:忽略parameterType,加@param("xxx")注解 在mapper接口中加上@param("xxx")注解,则在配置文件中直接用即可 Li ...
- 6 MyBatis基于Mapper接口CURD
6.1 MyBatis进行CURD: 方式1: 基于映射文件+SqlSession 特点: 依赖SqlSession对象方法,实现CURD.比如selectList(),selectOne(),ins ...
- Mybatis中Mapper动态代理方式
文章目录 开发规范 Mapper接口开发需要遵循以下规范 Mapper.xml(映射文件) UserMapper(接口文件) 加载UserMapper.xml文件 总结 selectOne和selec ...
- mybatis的mapper接口与xml传参问题
本文来说下mybatis的mapper接口与xml传参问题 文章目录 单个基础数据类型的传参 多个基础数据类型的传参 单个javabean 多个javabean 单个基础数据类型的传参 也就是说,接口 ...
- java关于重写正确,在Java中,以下关于方法重载和方法重写描述正确的是( )
在Java中,以下关于方法重载和方法重写描述正确的是( ) 答:方法重写的返回值类型必须相同或相容.(或是其子类) 对乙酰氨基酚临床用途是抗炎抗风湿作用 答:错 观念艺术是哲学的反思,传统的理论可以对 ...
- implements在java,implements在java中实现接口的方法
本教程操作环境:windows7系统.java10版,DELL G3电脑. 1.概念 (1)关键字implements是一个类,实现一个接口用的关键字,它是用来实现接口中定义的抽象方法. (2)接口在 ...
- TKmybatis的使用,MyBatis的Mapper接口、Example方法
文章目录 TKmybatis的使用 TKmybatis的常用注解 Mapper中的方法(dao继承可用) Example方法设置查询条件 TKmybatis的使用 pom.xml导入依赖 <!- ...
- Mybatis中 Dao接口和XML文件的SQL如何建立关联
一.解析XML: 首先,Mybatis在初始化 SqlSessionFactoryBean 的时候,找到 mapperLocations 路径去解析里面所有的XML文件,这里我们重点关注两部分. 1. ...
- Mybatis中Mapper映射文件详解(默认值)
Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd.我们先大体上看看支持哪些配置?如下所示,从Eclipse里截了个屏: 从上图可以看出, ...
最新文章
- PHP编实现程动态图像的创建
- 没附上语音包资源的python文字转语音
- Wince 添加中文字库
- php是实现点击改变状态,PHP利用header函数实现各种状态的跳转
- Robot Framework--08 List Variables-List变量及其用法
- Skynet 游戏服务器开发实战
- 基于kafka的定时消息/任务服务
- c#过滤字符串中相同的字符串只保留一个
- 浏览器主页劫持查杀,查杀主页劫持木马方法
- 基于范德蒙矩阵的Erasure code技术详解
- 冠捷云计算机功能,USB3.0显示器亮相!AOC多款LCD新品赏
- 海康威视、python环境下onvif安装,多通道摄像头获取rtsp视频流
- linux桌面壁纸目录,[多图]回顾每一款默认Ubuntu壁纸
- php composer 安装报错 Package fxp/composer-asset-plugin has a PHP requirement incompatible with your PHP
- FPGA:ov7725摄像头通过VGA/HDMI显示RGB565格式的图像
- UI设计中签到页面如何设计
- 【2018,中国智能+】新智元10万+热文排行,AI爆发没有看客
- bash文件无法运行,提示没有那个文件或目录的解决方法
- 【转载】面试题:面向对象的特征和基本特征有哪些 之抽象
- 32.768khz晶振在手表中的作用
热门文章
- 用python将数据标准化
- matlab中.P文件的使用说明
- 机器学习算法在自动驾驶领域的应用大盘点!
- 计蒜客NOIP模拟D1T2
- 《Windows Server 2012 Hyper-V虚拟化管理实践》——3.2 Hyper-V主机日常管理
- PetaPoco 使用总结(二)
- Flash/Flex学习笔记(30):不用startDrag和stopDrag的对象拖动
- WinCE6.0的极速启动
- C#使用ping命令
- C#封装WebBrowser时NewWindow事件无法获取Url的解决方法