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對(duì)應(yīng)的xml:
<select resultType='HashMap'> SELECT * FROM user a WHERE 1=1 ${whereSql}</select>mybatis中拼接sql語句的特殊符號(hào)表示
需要在mybatis中,使用到大于號(hào),小于號(hào)等等拼接sql語句,一般有以下XML轉(zhuǎn)義字符 :
XML轉(zhuǎn)義字符
< <小于號(hào) > >大于號(hào) & & 和 ' ’ 單引號(hào) " ' 雙引號(hào)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:

網(wǎng)公網(wǎng)安備