来源:今天写sql报了一个错误,这里记录一下。
最开始的写法:
/**
*
* @param date1 当天零时
* @param date2 当天23.59.59
* @return
*/
@Select("SELECT COUNT(*) FROM ums_member WHERE create_time > #{date1} AND create_time < #{date2}")
int todaySum(Date date1, Date date2);
此时报错:org.apache.ibatis.binding.BindingException: Parameter 'date1' not found. Available parameters are [arg1, arg0, param1, param2] 大体意思就是参数错误,没有找到这个参数。
此时加个注解即可解决 @Param()。
@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中。
/**
*
* @param date1 当天零时
* @param date2 当天23.59.59
* @return
*/
@Select("SELECT COUNT(*) FROM ums_member WHERE create_time > #{date1} AND create_time < #{date2}")
int todaySum(@Param("date1") Date date1, @Param("date2")Date date2);