關於 Mybatis mapping.xml中的 StatementType 知識點
遇到的問題:
statementType="STATEMENT"是使用非預編譯。
現在我需要動態傳人表名和欄位名,所以需要用STATEMENT。
使用之後所有變數取值都要改成${xxxx},而不是#{xxx},就是因為這個錯了半天。
一、要實現動態傳入表名、列名,需要做如下修改
新增屬性statementType=”STATEMENT”
同時sql裡的屬有變數取值都改成${xxxx},而不是#{xxx}
<delete id="deleteTableData" parameterType="java.util.Map" statementType="STATEMENT">
<![CDATA[
delete from ${table} where
${col} < ${date}]]>
</delete>
二、statementType
- statementType:STATEMENT(非預編譯),PREPARED(預編譯)或CALLABLE中的任意一個,這就告訴 MyBatis 分別使用Statement,PreparedStatement或者CallableStatement。預設:PREPARED。這裡顯然不能使用預編譯,要改成非預編譯。
- 將傳入的資料直接顯示生成在sql中,對於字串資料,需要手動加上引號。
String dateStr = DateFormatUtils.format(date.getTime(), "yyyy-MM-dd HH:mm:ss");
dateStr = "'" + dateStr + "'";
相關文章
- mybatis知識點MyBatis
- Mybatis中的小知識MyBatis
- 關於range的一個知識點
- 關於專案管理的知識點專案管理
- Python中關於Thread的一點小知識Pythonthread
- React相關知識點:關於ReduxReactRedux
- MyBatis知識點學習MyBatis
- 關於Java兩點需要更新的知識Java
- 關於 CSS 的零碎知識點CSS
- 前端關於單點登入的知識前端
- 關於AP的一些知識點
- 關於redo的幾個小知識點
- 關於標籤元素的重點知識
- MyBatis mapping.xml中的flushCache和useCache的使用MyBatisAPPXML
- 關於animation和transition一點知識
- 關於Promise知識點都在這裡Promise
- Nginx中關於虛擬主機的一點冷門知識Nginx
- 關於 SSH 框架面試知識點的總結框架面試
- 關於Flutter 您必須知道的知識點!!!Flutter
- 關於網頁的一些小知識點網頁
- 一些關於IO流的知識點
- 關於js、jq零碎知識點JS
- 關於Hibernate和hql語句的相關知識點
- 關於Async、Await的一些知識點AI
- 關於處理死鎖的一點小知識
- vue中關於測試的知識介紹Vue
- 關於高水位的知識
- 關於資料庫索引,必須掌握的知識點資料庫索引
- 關於JVM,你必須知道的這些知識點JVM
- 程式猿必須知道的關於 Tomcat 的知識點Tomcat
- Git相關知識點Git
- redis相關知識點Redis
- shell相關知識點
- Oracle 相關知識點Oracle
- UIBarButtonItem的相關知識點UI
- tmpwatch相關的知識點
- Mybatis【逆向工程,快取,代理】知識要點MyBatis快取
- C++中類相關知識點總結C++