场景再现:
DAO接口方法: public List<Map> findByUserName(String name)throws Exception;
当我在xml中写了一个这样的查询语句:
<select id="findByUserName" resultType="User" parameterType="java.lang.String">
select * from t_users where name =#{name}
</select>
运行程序抛出如下异常:
There is no getter for property named 'name' in 'class java.lang.String'。
网上的说法是MyBatis不能解析String类型的参数,需要在DAO接口中给参数加一个@Param注释才能正常解析。sql语句中的参数对应的是@Param注释里定义的变量。修改后的代码如下:
public List<Map> findByUserName(@Param("name") String name)throws Exception;
加上该注释后完美解决!
解决MyBatis String参数问题
本文介绍在使用MyBatis框架时遇到的关于String类型参数的问题及解决方案。通过在DAO接口方法上添加@Param注解,成功解决了MyBatis无法正确解析String参数导致的异常。
3455

被折叠的 条评论
为什么被折叠?



