在使用多条件查询的时候,使用@select注解写SQL语句报错:
服务器报500
后台错误显示:
报错源码定位:
/*
* 分页查询
* */
@Select("select * from `user` where username like concat('%',#{username},'%') and name like concat('%',#{name},'%') order by id desc limit #{pageSkip},#{pageSize}")
List<User> selectByPage(Integer pageSkip,Integer pageSize, String username, String name);
/*
* 分页查询的总数计数
* */
@Select("select count(id) from `user` where username like concat('%',#{username},'%') and name like concat('%',#{name},'%') order by id desc")
Integer selectByPageCount(String username,String name);
原因:方法里传递的参数解析不了,所以后台报错说参数没有找到
解决方法:在每个参数前面加上@Param(" ")注解即可
/*
* 分页查询
* */
@Select("select * from `user` where username like concat('%',#{username},'%') and name like concat('%',#{name},'%') order by id desc limit #{pageSkip},#{pageSize}")
List<User> selectByPage(@Param("pageSkip") Integer pageSkip, @Param("pageSize") Integer pageSize, @Param("username") String username, @Param("name") String name);
/*
* 分页查询的总数计数
* */
@Select("select count(id) from `user` where username like concat('%',#{username},'%') and name like concat('%',#{name},'%') order by id desc")
Integer selectByPageCount(@Param("username") String username, @Param("name") String name);
如上,添加上注解就能成功了。