本文主要是介绍45.报错信息:data 和varbinary在greater than中不兼容,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
错误导致原因:时间分页的筛查条件时,因为传入的时间为String类型,在SQL中使用“>=”表示开始时间报错
入参的实体类:
@Data
@ApiModel("学生列表查询的筛选条件实体类")
@AllArgsConstructor
@NoArgsConstructor
public class UserInvo{@ApiModelProperty("年龄")
private Integr age;@ApiModelProperty("开始时间")
private String startTime;@ApiModelProperty("结束时间")
private String endTime;}
UserMapper接口对应的方法:
//根据条件查询学生列表
List<User> queryUserList(@Param("inVo") UserInvo userInvo );
UserMapper.xml中对应的SQL
<select id="queryUerList" returnType="User">select id,name,age from tb_user A<where><if test="inVo.age=!null">A.age>inVo.age</if><if test="inVo.startTime !=null">A.createtime >=inVo.startTime</if><if test="inVo.endTime !=null">A.createtime <=inVo.endTime </if><where>order by A.createtime desc
</select>
原因:报错信息:data 和varbinary在greater than中不兼容
改正方法:分页的开始时间类型改为date,并加上时间格式(注意时间在使用if标签进行判断是否为空时,不能加上 invo.getstartTime!=’’,否则会导致查询数据不正确)
实体类中开始时间和结束时间修改后如下:
@Data
@ApiModel("学生列表查询的筛选条件实体类")
@AllArgsConstructor
@NoArgsConstructor
public class UserInvo{@ApiModelProperty("年龄")
private Integr age;@ApiModelProperty("开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd ")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;@ApiModelProperty("结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd")@JsonFormat(pattern = "yyyy-MM-dd ")
private Date endTime;}
这篇关于45.报错信息:data 和varbinary在greater than中不兼容的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!