解决使用MyBatis只传入一个String类型的参数时出现异常

场景再现:

DAO接口方法: public List findByUserName(String name)throws Exception;

当我在xml中写了一个这样的查询语句:

 

运行程序抛出如下异常:

There is no getter for property named 'name' in 'class java.lang.String'。


网上的说法是MyBatis不能解析String类型的参数,需要在DAO接口中给参数加一个@Param注释才能正常解析。sql语句中的参数对应的是@Param注释里定义的变量。修改后的代码如下:

public List findByUserName(@Param("name")  String name)throws Exception;

加上该注释后完美解决!


你可能感兴趣的:(Sql)