原文:http://luoyu-ds.iteye.com/blog/1517607
要實現動態傳入表名、列名,需要做如下修改
添加屬性statementType=”STATEMENT” (可省略)
同時sql里的屬有變量取值都改成${xxxx},而不是#{xxx}
-
<delete id="deleteTableData" parameterType="java.util.Map" statementType="STATEMENT">
-
<![CDATA[
-
delete from ${table} where
-
${col} < ${date}]]>
-
</delete>
- statementType:STATEMENT(非預編譯),PREPARED(預編譯)或CALLABLE中的任意一個,這就告訴 MyBatis 分別使用Statement,PreparedStatement或者CallableStatement。默認:PREPARED。這里顯然不能使用預編譯,要改成非預編譯。
- 將傳入的數據直接顯示生成在sql中,對於字符串數據,需要手動加上引號。
-
String dateStr = DateFormatUtils.format(date.getTime(), "yyyy-MM-dd HH:mm:ss");
-
dateStr = "'" + dateStr + "'";
轉自:https://blog.csdn.net/qq_26496877/article/details/78258317