** 注意点**
1-and dto.startTime!=’’ 中间不要出现空格。否则将出现 ibatis 抛出 number转换异常
2- dto.startTime 这个数据类型可以是 LocalDateTime
3-<![CDATA[>=]]> 大于号以及小于号需要转换
时间是 dto.endTime是字符串的
<if test="dto.startTime !=null and dto.startTime!=''">
and audit.created_time <![CDATA[>=]]> #{dto.startTime} </if>
<if test="dto.endTime!=null and dto.endTime!=''">
and audit.created_time <![CDATA[<=]]> #{dto.endTime}
</if>
时间是 dto.endTime是LocalDateTime类型的
and dto.startTime!=’’ 若加这个,将会导致,dto.startTime进行格式转换,然后因 dto.startTime类型是LocalDateTime 将抛出异常。
<if test="dto.startTime !=null">
and audit.created_time <![CDATA[>=]]> #{dto.startTime} </if>
<if test="dto.endTime!=null">
and audit.created_time <![CDATA[<=]]> #{dto.endTime}
</if>
本文探讨了在使用Ibatis进行数据查询时,如何正确处理时间条件过滤,避免因空格、类型不匹配及CDATA转义导致的异常。特别指出dto.startTime和dto.endTime的数据类型应为LocalDateTime,并提供了针对不同时间格式的条件语句示例,确保查询语句的正确执行。
3571

被折叠的 条评论
为什么被折叠?



