1.我的错误信息如下:
这是我原来定义的方法:
Integer updateDefaultByAid( Integer aid, String modifiedUser, Date modifiedTime );
2.错误原因
mybatis 在mapper.xml 里查询数据库数据时,不支持传多个参数查询
UPDATE t_address SET is_default = 1, modified_user = #{modifiedUser}, modified_time = #{modifiedTime } WHERE aid = #{aid}
3.解决方法
(1)将参数设为对象
Integer updateDefaultByAid(Address address);
(2)参数前加@Param注解(推荐使用)
Integer updateDefaultByAid( @Param(“aid”) Integer aid, @Param(“modifiedUser”) String modifiedUser, @Param(“modifiedTime”) Date modifiedTime );
补充:
当SQl语句的占位符和映射接口方法的参数名不一致时,需要将某个参数强行注入到某个占位符变量上时,可以使用@Param这个注解来标注映射的关系(@Param(“占位符的参数名”) 数据类型 自己定义的参数名)