3、jeecg 筆記之 模糊查詢


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM