myBatis mapper接口方法重载问题

在mybatis框架中,写dao层的mapper接口时,是不可以进行方法的重载的,下面是截图证明:

当mapper接口中有方法的重载时,会出现异常,

这是mapper接口中定义的两个方法,进行重载:

这是mapper.xml中进行的映射:

这是运行后出现的异常:

当不进行方法的重载时,即:每个方法都有唯一的命名时,在xml中进行映射后,就可以执行,不会出现异常。

所以mybatis中mapper.xml是不会准确映射到Java中的重载方法的。最好不要在mapper接口中使用方法重载。

原文地址:https://www.cnblogs.com/coder-wf/p/12221662.html

时间: 2024-07-31 23:22:29

myBatis mapper接口方法重载问题的相关文章

基于注解的Mybatis mapper 接口注意事项

基于注解的Mybatis mapper 接口功能没有mapper xml配置文件丰富,而且动态sql语句的灵活性不能和xml配置相比. 这里只说一下基于注解的动态sql注意事项: Mybatis提供注解 @InsertProvider, @UpdateProvider,@DeleteProvider和 @SelectProvider来提供动态sql功能. 提供动态sql的方法参数只有2种可能:无参数和一个参数.一个参数又分为2种情况:参数类型和mapper 接口方法参数相同,另一个就是Map<S

myBatis,mapper查询方法参数传递出错

myBatis,mapper查询方法参数传递出错 接口类mapper的方法: public string getData(String str); mapper.xml文件中sql语句: select * from table1 t where t.str=#{str} 这样可能会报错,报错内容是找不到参数str; 把接口类mapper中的方法参数修改一下: public string getData(@Param(value = "str") String str); 就不报错了

mybatis mapper接口开发注意事项

mybatis之接口方法多参数的三种实现方式

关键代码举例: DaoMapper.xml 1 <!-- 传入多个参数时,自动转换为map形式 --> 2 <insert id="insertByColumns" useGeneratedKeys="true" keyProperty="id"> 3 insert into user (id, name, age) values (NULL ,#{param1}, #{param2}) 4 </insert>

mybatis的简单使用调用mapper接口

mybatis 是apache下的一个面向sql编程的半自动化的ORM持久层的框架.特点:面向sql编程,达到高性能的使用目的. 下面是简单使用 现导入jar包,只有mybatis和数据库驱动包(这里用的是mysql的驱动包)是必须的,其余是日志需要的包 db.properties配置连接池的配置文件 1 jdbc.driverClassName=com.mysql.jdbc.Driver 2 jdbc.url=jdbc:mysql://localhost:3306/mybatis 3 jdbc

MyBatis 之 使用二 (Mapper接口的使用)

一.在前一篇中,存在一些问题: 1.  没有使用接口编程,Java是面向接口编程语言.应该对数据库操作定义一些接口,调用dao接口完成数据库操作. public interface UserDao { //根据Id查询用户信息 public User findUserById(int userId) throws Exception; //添加用户 public void insertUser(User user) throws Exception; //修改用户 public void upd

Mybaits 源码解析 (五)----- 面试源码系列:Mapper接口底层原理(为什么Mapper不用写实现类就能访问到数据库?)

刚开始使用Mybaits的同学有没有这样的疑惑,为什么我们没有编写Mapper的实现类,却能调用Mapper的方法呢?本篇文章我带大家一起来解决这个疑问 上一篇文章我们获取到了DefaultSqlSession,接着我们来看第一篇文章测试用例后面的代码 EmployeeMapper employeeMapper = sqlSession.getMapper(Employee.class); List<Employee> allEmployees = employeeMapper.getAll(

Mybatis Mapper动态代理方式

目录结构及配置文件与原始dao方法相比更简便 只需一个UserMapper的接口,放在一起的配置文件,配置文件中namespace的地址确定jdk动态代理的对象 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybati

mybatis mapper xml文件的导入方式和查询方式

mybatis mapper xml文件的导入方式和查询方式 ssm框架 Mybatis mapper与SQLSession的关系 每个基于MyBatis的应用都是以一个SqlSessionFactory的实例为中心的.通过SqlSessionFactory可以获得SQLSession实例,然后在其中完全包含了数据库执行SQL命令所需要的所有方法. SQLMapper是由一个Java接口和XML文件构成的,给出一定的SQL和映射规则.负责SQL的执行和返回结果. 通过SQLSession获得Ma