Java代碼里如何拼接SQL語句到mybatis的xml
StringBuilder whereSql = new StringBuilder();whereSql.append('SQL');
實(shí)現(xiàn)類:
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í)加入查詢條件}if (map.get('CURRENTPAGE').toString().length()>0 && map.get('PAGESIZE').toString().length()>0) {//前端有傳分頁參數(shù)時(shí)就添加分頁查詢條件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對應(yīng)的xml:
<select resultType='HashMap'> SELECT * FROM user a WHERE 1=1 ${whereSql}</select>mybatis中拼接sql語句的特殊符號表示
需要在mybatis中,使用到大于號,小于號等等拼接sql語句,一般有以下XML轉(zhuǎn)義字符 :
XML轉(zhuǎn)義字符
< <小于號 > >大于號 & & 和 ' ’ 單引號 " ' 雙引號
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP基礎(chǔ)知識VBScript基本元素講解2. jsp中sitemesh修改tagRule技術(shù)分享3. JSP servlet實(shí)現(xiàn)文件上傳下載和刪除4. React優(yōu)雅的封裝SvgIcon組件示例5. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)6. JavaWeb Servlet中url-pattern的使用7. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究8. 輕松學(xué)習(xí)XML教程9. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼10. 詳解瀏覽器的緩存機(jī)制
