1、前言
jeecg 考慮到默認模糊查詢的話,會增加系統壓力,導致查詢慢,本來系統就挺那啥的...
2、方式一之實體賦值
實體重新賦值查詢,用 * %% * 實現,我們知道 sql 中通常使用 % 去模糊查詢的,jeecg 中 datagrid 方法里判斷實體屬性是否為空,不為空則重新賦值即可。
至於 是不是用 % ,使用幾個 % 根據自己情況選擇,比如: "*" + xxx + "*" 、"*%" + xxx + "*"
3、方式二之cq實現
將值賦值給 CriteriaQuery
@RequestMapping(params = "datagrid") public void datagrid(BaseDevice device, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { String devicecode = device.getDevicecode(); String devicename = device.getDevicename(); String status = device.getStatus(); CriteriaQuery cq = new CriteriaQuery(BaseDevice.class,dataGrid); if(StringUtils.isNotEmpty(devicecode)){ cq.add(Restrictions.sqlRestriction("devicecode like '%" + devicecode + "%'")); } if(StringUtils.isNotEmpty(devicename)){ cq.add(Restrictions.sqlRestriction("devicename like '%" + devicename + "%'")); } if(StringUtils.isNotEmpty(status)){ cq.add(Restrictions.sqlRestriction("status like '%" + status + "%'")); } this.systemService.getDataGridReturn(cq, true); TagUtil.datagrid(response, dataGrid); }
4、其他方式
https://my.oschina.net/u/2538398/blog/757841
博客地址:http://www.cnblogs.com/niceyoo