Java代碼里如何拼接SQL語(yǔ)句到mybatis的xml
關(guān)鍵語(yǔ)句:
StringBuilder whereSql = new StringBuilder();
whereSql.append("SQL");
實(shí)現(xiàn)類(lèi):
public List getList(Map<String, Object> map) {
List<Map<String, Object>> rs = new ArrayList<Map<String, Object>>();
try {
StringBuilder whereSql = new StringBuilder();
if (map.get("userName").toString().length()>0) {
whereSql.append(" AND a.userName in ('" + map.get("userName").toString().replaceAll(",", "\',\'") + "')");//不為空時(shí)加入查詢(xún)條件
}
if (map.get("CURRENTPAGE").toString().length()>0 && map.get("PAGESIZE").toString().length()>0) {//前端有傳分頁(yè)參數(shù)時(shí)就添加分頁(yè)查詢(xún)條件
int currenpage = Integer.parseInt(map.get("CURRENTPAGE").toString());
int pagesize = Integer.parseInt(map.get("PAGESIZE").toString());
currenpage = ((currenpage - 1) * pagesize);
whereSql.append(" limit " + currenpage + "," + pagesize);
}
rs = wmTblWorkorderMapper.getList(whereSql.toString());
return rs;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
mapper:
List<Map<String,Object>> getList(@Param("whereSql") String whereSql);
mapper對(duì)應(yīng)的xml:
<select id="getList" resultType="HashMap">
SELECT * FROM user a WHERE 1=1 ${whereSql}
</select>
mybatis中拼接sql語(yǔ)句的特殊符號(hào)表示
需要在mybatis中,使用到大于號(hào),小于號(hào)等等拼接sql語(yǔ)句,一般有以下XML轉(zhuǎn)義字符 :
XML轉(zhuǎn)義字符
< < 小于號(hào)
> > 大于號(hào)
& & 和
' ' 單引號(hào)
" " 雙引號(hào)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- java利用mybatis攔截器統(tǒng)計(jì)sql執(zhí)行時(shí)間示例
- 實(shí)例講解Java的MyBatis框架對(duì)MySQL中數(shù)據(jù)的關(guān)聯(lián)查詢(xún)
- mybatis教程之動(dòng)態(tài)sql語(yǔ)句_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- Java Fluent Mybatis 分頁(yè)查詢(xún)與sql日志輸出詳解流程篇
- 利用Java如何獲取Mybatis動(dòng)態(tài)生成的sql接口實(shí)現(xiàn)
- java?mybatis如何操作postgresql?array數(shù)組類(lèi)型
- Java?MyBatis是如何執(zhí)行一條SQL語(yǔ)句的
相關(guān)文章
Java中String類(lèi)常用方法總結(jié)詳解
String類(lèi)是一個(gè)很常用的類(lèi),是Java語(yǔ)言的核心類(lèi),用來(lái)保存代碼中的字符串常量的,并且封裝了很多操作字符串的方法。本文為大家總結(jié)了一些String類(lèi)常用方法的使用,感興趣的可以了解一下2022-08-08
Java 數(shù)據(jù)庫(kù)連接(JDBC)的相關(guān)總結(jié)
這篇文章主要介紹了Java 數(shù)據(jù)庫(kù)連接(JDBC)的相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下2021-03-03
搭建MyBatis-Plus框架并進(jìn)行數(shù)據(jù)庫(kù)增刪改查功能
這篇文章主要介紹了搭建MyBatis-Plus框架并進(jìn)行數(shù)據(jù)庫(kù)增刪改查,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
SpringBoot嵌入式Servlet容器與定制化組件超詳細(xì)講解
這篇文章主要介紹了SpringBoot嵌入式Servlet容器與定制化組件的使用介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-10-10
IDEA中 Getter、Setter 注解不起作用的問(wèn)題如何解決
這篇文章主要介紹了IDEA中 Getter、Setter 注解不起作用的問(wèn)題如何解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
Java線程Timer定時(shí)器用法詳細(xì)總結(jié)
在本篇文章里小編給大家整理的是關(guān)于Java線程Timer定時(shí)器用法詳細(xì)總結(jié)內(nèi)容,需要的朋友們學(xué)習(xí)下吧。2020-02-02
Spring?Boot?MQTT?Too?many?publishes?in?progress錯(cuò)誤的解決方
本文介紹Spring?Boot?MQTT?Too?many?publishes?in?progress錯(cuò)誤的解決方案,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-07-07
Mybatis動(dòng)態(tài)SQL之where標(biāo)簽用法說(shuō)明
這篇文章主要介紹了Mybatis動(dòng)態(tài)SQL之where標(biāo)簽用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06

