mybatis 出错了
好吧, 参数找不到????脑中只有黑人问号, 参数名检查检查几遍了, log出来也没出错啊, 找不到喔.....
错误示范
后台Java代码 :
mapper层的接口 :
List<UserAccount> getUserAccountByEmail(int username, String email);
mapper.xml 映射中的代码 :
<!--根据username,email获取UserAccount-->
<select id = "getUserAccountByEmail" resultMap = "BaseResultMap">
SELECT * FROM user_account WHERE ua_username = #{username} AND ua_email = #{email}
</select>
然后就... :
Parameter 'username' not found. Available parameters are [0, 1, param1, para
找了一会, 原来是, 当mapper层的接口中超过一个参数是以下两种写法才可以被mybatis识别参数
第一种 (改mapper层的接口代码):
List<UserAccount> getUserAccountByEmail(@Param("username")int username, @Param("email")String email);
在参数前面加上@Param("xxx") xxx就是mapper.xml中指定的参数名
第二种 (该mapper.xml中的代码)
<select id = "getUserAccountByEmail" resultMap = "BaseResultMap">
SELECT * FROM user_account WHERE ua_username = #{0} AND ua_email = #{1}
</select>
在参数指定的名字出替换成接口中参数的序号(从0开始排)
希望可以帮到你, mybatis的成就之路