码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis-进阶

时间:2018-02-28 14:43:12      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:body   UI   绑定   neu   .sql   r.java   AC   结果   conf   

接入门的实例,我们知道MyBatis可以使用注解和配置文件实现接口和sql语句的绑定。

那么一个接口方法同时使用注解和xml配置会怎么样。

    @Select("select * from user_tb where id=#{id}")
    User getOneUser(int id);

 

    <select id="getOneUser" resultType="User">
        select * from user_tb where id+1=#{id}
    </select>

 

如果传入id=12,查出来的User.id=12,说明注解覆盖xml配置,查出来的User.id=11,说明xml配置覆盖注解

结果是:

Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: 
### Error building SqlSession.
### The error may exist in com/xh/mybatisLearn/dao/UserMapper.java (best guess)
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.xh.mybatisLearn.dao.UserMapper.getOneUser
	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
	at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80)
	at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:64)
	at com.xh.mybatisLearn.Test.getSqlSessionFactory(Test.java:29)
	at com.xh.mybatisLearn.Test.main(Test.java:34)

竟然抛异常啦,去掉任何一个都是可以的。

 

MyBatis-进阶

标签:body   UI   绑定   neu   .sql   r.java   AC   结果   conf   

原文地址:https://www.cnblogs.com/lanqie/p/8483438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!