问题描述
mysql 数据库里面有一个 start_date 一个 end_date 自己给出一个对象里面有两个时间段分别为startTime endTime 要查出startTime > start_date 且 endTime < end_date 的所有的东西 怎么写呢这里用的是动态查询<isNotNull prepend="AND" property="startDate"> <![CDATA[ pad.start_time - #startDate# >= 0 ]]> </isNotNull> <isNotNull prepend="AND" property="endDate"> <![CDATA[ #endDate# - pad.end_time >= 0 ]]> </isNotNull> 这样反正不行额 求解答
解决方案
<isNotNull prepend="AND" property="startDate"><![CDATA[ pad.start_time - #startDate# >= 0 ]]> </isNotNull><isNotNull prepend="AND" property="endDate"><![CDATA[ #endDate# - pad.end_time >= 0 ]]> </isNotNull>参数是 什么类型的 如果是字符串的话可以这么写pad.start_time >= #startDate# pad.end_time <=#endDate
解决方案二:
#XML 里面有五个特殊字符,需要转义
解决方案三:
<isNotNull prepend="," property="record.endTime" > END_TIME = #record.endTime:TIMESTAMP# </isNotNull>这是 oracle的 endTime 类型对应表是 Date类型 bean 是 private Date endTime;希望对你有所帮助
解决方案四:
#endDate#你直接用的 #号 表名参数是字符串 如果数据库是Date类型的 需要 to_date 一下在和数据库比较