1 在ibatis中(mysql),会出现date的比较。在mysql中有一个函数date_format可以将日期转化为相对应的格式。
如:<select id="query" resultClass="example" parameterClass="example">
select id,name,remark,createDate from example where 1=1
<isNotEmpty prepend="and" property="createDateSer">
date_format(createDate,'%Y-%m-%d') <![CDATA[ >= ]]> date_format(#createDateSer#,'%Y-%m-%d')
</isNotEmpty>
</select>
解释:date_format(createDate,'%Y-%m-%d') 表示将createDate格式转化为%Y-%m-%d格式的字符串。
%Y表示年 4位
%m表示月 数值 2位(00-12)
%d表示天 数值 2位(00-31)
<![CDATA[ >= ]]>
在<![CDATA[和]]>之间的内容,xml不会进行编译和解析。因为>和开始标签或结束标签有些类似。故需要用<![CDATA[和]]>加以保护。
2 在ibatis的sql文件中如果遇到#createDateSer#这样用#表示的变量,则意思是:会按照数据库字段类型来进行自动转换。而如果遇到$aa$则表示显示值,不会进行自动转换类型。
如:<select id="query" resultClass="example" parameterClass="example">
select id,name,remark,createDate from example where 1=1
<isNotEmpty prepend="and" property="createDateSer">
date_format(createDate,'%Y-%m-%d') <![CDATA[ >= ]]> date_format(#createDateSer#,'%Y-%m-%d')
</isNotEmpty>
</select>
总结:mysql中的date_format函数式将日期转化为相应格式的字符串。当createDate为日期格式的字段。如:date_format(createDate,'%Y-%m-%d')
如:<select id="query" resultClass="example" parameterClass="example">
select id,name,remark,createDate from example where 1=1
<isNotEmpty prepend="and" property="createDateSer">
date_format(createDate,'%Y-%m-%d') <![CDATA[ >= ]]> date_format(#createDateSer#,'%Y-%m-%d')
</isNotEmpty>
</select>
解释:date_format(createDate,'%Y-%m-%d') 表示将createDate格式转化为%Y-%m-%d格式的字符串。
%Y表示年 4位
%m表示月 数值 2位(00-12)
%d表示天 数值 2位(00-31)
<![CDATA[ >= ]]>
在<![CDATA[和]]>之间的内容,xml不会进行编译和解析。因为>和开始标签或结束标签有些类似。故需要用<![CDATA[和]]>加以保护。
2 在ibatis的sql文件中如果遇到#createDateSer#这样用#表示的变量,则意思是:会按照数据库字段类型来进行自动转换。而如果遇到$aa$则表示显示值,不会进行自动转换类型。
如:<select id="query" resultClass="example" parameterClass="example">
select id,name,remark,createDate from example where 1=1
<isNotEmpty prepend="and" property="createDateSer">
date_format(createDate,'%Y-%m-%d') <![CDATA[ >= ]]> date_format(#createDateSer#,'%Y-%m-%d')
</isNotEmpty>
</select>
总结:mysql中的date_format函数式将日期转化为相应格式的字符串。当createDate为日期格式的字段。如:date_format(createDate,'%Y-%m-%d')