博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
@Select注解的情况下,重载的报错
阅读量:6250 次
发布时间:2019-06-22

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

在编写代码的时候,我对查询这个方法进行了重载,这样调用的时候会根据参数的不同,进而去执行不同的操作,但是......问题来了。想法都是美好的,实际情况却不是我理想的状态。运行代码的时候他动了几下,然后一片红色。

我仔细看了看代码:

1     @Select("INSERT  INTO comment (com_pro,user_name,com_content,com_score) VALUES (#{comment.com_pro},#{comment.user_name},#{comment.com_content},#{comment.com_score}") 2     public int insertComment(Comment comment); 3      4     @Select("DELETE FROM comment WHERE com_id =#{comment.com_id}") 5     public int delCommentById(int id); 6      7     @Select("DELETE FROM comment where user_name=#{comment.user_name}") 8     public int delCommentAll(String name); 9     10     @Select("update comment set com_content=#{comment.com_content},com_score=#{comment.com_score}  where com_id=#{comment.com_id}")11     public int updateComment(Comment comment);12     13     @Select("SELECT * FROM comment where com_pro=#{comment.com_pro}")14     public List
findCommentAll(String proname);15 16 @Select("SELECT * FROM comment where com_pro=#{proname} and com_score=#{com_score}")17 public List
findCommentAll(String proname,String com_score);

 

当我运行代码的时候,就会就收到如下错误:

严重: Error while adding the mapper 'interface com.sh.dao.CommentDao' to configuration. java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.sh.dao.CommentDao.findCommentAll

告诉我这个方法“添加映射的接口的COM的错误。sh.dao commentdao”配置。”(百度翻译)

方法名是否真的不可以一样?

答案是肯定的,少侠。

mybatis @Select是不支持方法重载的(如果红字不算执行结果的话)。

封印代码:

1     @Select("INSERT  INTO comment (com_pro,user_name,com_content,com_score) VALUES (#{comment.com_pro},#{comment.user_name},#{comment.com_content},#{comment.com_score}") 2     public int insertComment(Comment comment); 3      4     @Select("DELETE FROM comment WHERE com_id =#{comment.com_id}") 5     public int delCommentById(int id); 6      7     @Select("DELETE FROM comment where user_name=#{comment.user_name}") 8     public int delCommentAll(String name); 9     10     @Select("update comment set com_content=#{comment.com_content},com_score=#{comment.com_score}  where com_id=#{comment.com_id}")11     public int updateComment(Comment comment);12     13 //    @Select("SELECT * FROM comment where com_pro=#{comment.com_pro}")14 //    public List
findCommentAll(String proname);15 // 16 // @Select("SELECT * FROM comment where com_pro=#{proname} and com_score=#{com_score}")17 // public List
findCommentAll(String proname,String com_score);

运行我的Test:

1     @Test2     public void test() {3         ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");4         ActivityService ad = ctx.getBean(ActivityService.class);5         List
list = ad.findActivityAll();6 for (Activity e : list) {7 System.out.println(e.toString());8 }9 }

得到输出结果:

1 Activity [act_id=1, act_theme=双十一, act_img=12345, act_time=Sat Nov 11 00:00:00 CST 2017]

总结:

记者:为什么要写注解?

我:没有钱了,肯定要做啊,不做没有钱用。

记者:你有手有脚的怎么不去写重载?

我:重载方面......重载是不可能重载的 这辈子不可能重载的,做实现类又不会写,就是接口这种东西,才能维持得了生活这样子.

记者:那你觉得注解好还是看重载好?

我:不写重载的感觉像回家一样,我一年写重载,大年三十 晚上我都不回去,就平时重载出点事,我就回去看看这样子,注解的感觉,比重载感觉好多了,在重载的时候一个人很无聊,都没有朋友,女朋友玩 ,写了注解发现个个都是人才,说话又好听,超 喜欢写注解。

转载于:https://www.cnblogs.com/liuhappy/p/8759584.html

你可能感兴趣的文章
Android——build.prop 解析【转】
查看>>
mybatis实现多表联合查询
查看>>
nginx卸载与安装
查看>>
查看linux文件目录的大小和文件夹包含的文件数
查看>>
MySQL(一)之MySQL简介与安装
查看>>
ASP.NET Core的身份认证框架IdentityServer4(3)-术语的解释
查看>>
Python2.7编程基础(博主推荐)
查看>>
webpack css打包为一个css
查看>>
线程间的通信、同步方式与进程间通信方式
查看>>
C#设计模式之四建造者模式(Builder Pattern)【创建型】
查看>>
数据结构与算法(周鹏-未出版)-第六章 树-6.3 二叉树基本操作的实现
查看>>
[Python] List & Object spread in Python
查看>>
[js高手之路]html5 canvas动画教程 - 下雪效果
查看>>
JTable更新内容的方法
查看>>
Linux之统计特定进程运行数量
查看>>
Oracle聚合连接字符串
查看>>
《java与模式》
查看>>
Charles从入门到放弃
查看>>
Win7网络修复,winsock/tcpip
查看>>
ajax补充--------FormData等...
查看>>