碰见一个令人无语的事情,mybatis下使用注解编写sql,方法名相同,参数不同运行的时候居然会报错?
就像下面这样,一个带参数一个不带参数
@Select("select * from tb_user")
List<User> select();
@Select("select * from tb_user where username=#{username} and password=#{password}")
User select(String username,String password);
再看一下测试代码
```java
@SuppressWarnings({"all"})
public class usermapper {
public static void main(String[] args) throws IOException {
SqlSession sqlSession = SqlSessionFactorUtil.getSqlSessionFactory().openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> select = mapper.select();
System.out.println(select);
sqlSession.commit();
sqlSession.close();
}
}
**
然后就报错了,随便取了一点上来**
**看见报错信息我真是一脸懵逼啊,百思不得其解,最后跟以前写的代码做了对比,把同名方法改了个名字就能运行成功了**
```java
@Select("select * from tb_user")
List<User> selectALL();
@Select("select * from tb_user where username=#{username} and password=#{password}")
User select(String username,String password);