http://www.w3school.com.cn/sql/func_date_format.asp
SELECT count(*) FROM (SELECT a.PKID, a.SERIAL_NO, a.PAY_ORDER_NO, a.PAY_TRADE_NO, a.AMOUNT, a.IN_ACCOUNT, a.RECORD_TIME, a.TRADE_TIME, a.SETTLE_TIME, a.DESCRIPTION, a.CREATE_TIME FROM advance_bill a WHERE DATE_FORMAT(a.TRADE_TIME,'%Y%m%d') = '20170607') t这样就可以在mybatis的 xml中 很方便的处理String类型的时间参数 和 DATA类型的数据库字段了<select id="select" parameterClass="java.util.HashMap" resultMap="advanceBillMap"> select a.PKID,a.SERIAL_NO,a.PAY_ORDER_NO,a.PAY_TRADE_NO,a.AMOUNT,a.IN_ACCOUNT,a.RECORD_TIME, a.TRADE_TIME,a.SETTLE_TIME,a.DESCRIPTION,a.CREATE_TIME from advance_bill a <dynamic prepend="where"> <include refid="dynamicWhere" /> </dynamic> <dynamic prepend="order by"> <isNotEmpty property="fieldSort">$fieldSort$</isNotEmpty> </dynamic> </select><sql id="dynamicWhere"> <isNotEmpty prepend="and" property="queryTime"> DATE_FORMAT(a.TRADE_TIME,'%Y%m%d') = #queryTime# </isNotEmpty> <isNotEmpty prepend="and" property="serialNo"> a.SERIAL_NO = #serialNo# </isNotEmpty> <isNotEmpty prepend="and" property="payOrderNo"> a.PAY_ORDER_NO = #payOrderNo# </isNotEmpty> </sql>