Java代碼里如何拼接SQL語句到mybatis的xml
StringBuilder whereSql = new StringBuilder();whereSql.append('SQL');
實現類:
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(',', '’,’') + '’)');//不為空時加入查詢條件}if (map.get('CURRENTPAGE').toString().length()>0 && map.get('PAGESIZE').toString().length()>0) {//前端有傳分頁參數時就添加分頁查詢條件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對應的xml:
<select resultType='HashMap'> SELECT * FROM user a WHERE 1=1 ${whereSql}</select>mybatis中拼接sql語句的特殊符號表示
需要在mybatis中,使用到大于號,小于號等等拼接sql語句,一般有以下XML轉義字符 :
XML轉義字符
< <小于號 > >大于號 & & 和 ' ’ 單引號 " ' 雙引號
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: