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
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步