public void datagrid(CustomFormEntity customForm,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
//搜索参数
StringBuffer searchSql=new StringBuffer("1=1");
String showName = customForm.getShowName();
if (StringUtil.isNotEmpty(showName) ) {
searchSql.append(" and ").append(" mJson->'$.showName' like '%"+showName+"%'");
}
//头部
StringBuffer sbHead=new StringBuffer();
sbHead.append("SELECT * ");
//查询体
StringBuffer sbBody=new StringBuffer();
sbBody.append(" from ");
sbBody.append(" cf_model ");
sbBody.append(" where ");
sbBody.append(searchSql);
sbBody.append(" order by sort asc");
//查询
Session session=this.systemService.getSession();
//获取总数
List<Object> listObj=systemService.findListbySql("select count(*) "+sbBody.toString());
long count =Long.valueOf(""+listObj.get(0)); int rows = dataGrid.getRows();
int page = dataGrid.getPage();
//解决查询搜索页码问题-获取不到数据
if(((page-1)*rows)>=count){
page=1;
}
//获取分页后数据
String sql=sbHead.toString()+" "+sbBody.toString()+" LIMIT "+(page-1)*rows+","+dataGrid.getRows();
//查询结构
List<Map<String,Object>> c=systemService.findForJdbc(sql,new Object[]{});
int size = c.size();
List<Map<String,Object>> results= new ArrayList<Map<String,Object>>();
for (int k = 0; k < size; k++) {
Map map = (Map)JSON.parse((String)c.get(k).get("mJson"));
map.put("id", c.get(k).get("id"));
results.add(map);
}
//set data
dataGrid.setResults(results);
dataGrid.setTotal((int)count);
TagUtil.datagrid(response, dataGrid);
}

json表里面有个mJson字段数据如下面的Json格式

{"dataType":"1","id":"","ifMust":"1","laySort":"1","maxLen":"2","minLen":"1","showName":"身高"}

需要对其中的f开头的Json key值所对的value进行模糊查询,方法如下:

select *  from t_table_name where 1=1 and  mJson->'$.showName' like '%高%' order by sort asc

Mysql里查询字段为Json格式的数据模糊查询以及分页方法的更多相关文章

  1. mybatis 处理数组类型及使用Json格式保存数据 JsonTypeHandler and ArrayTypeHandler

    mybatis 比 ibatis 改进了很多,特别是支持了注解,支持了plugin inteceptor,也给开发者带来了更多的灵活性,相比其他ORM,我还是挺喜欢mybatis的. 闲言碎语不要讲, ...

  2. Django 1.8.11 查询数据库返回JSON格式数据

    Django 1.8.11 查询数据库返回JSON格式数据 和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式 环境 Win10 Python2.7 Django 1.8.11 返回多 ...

  3. SQL Server中将查询结果转换为Json格式脚本

    这篇文章主要介绍了SQL Server中将查询结果转换为Json格式脚本分享,本文直接给出实现代码,需要的朋友可以参考下 原文地址:http://www.jb51.net/article/61462. ...

  4. 省市县从数据库读出来的list数据转换成json格式的数据

    一,数据源 1.1,数据库查出来的数据是 两张表先各自左外连接,然后在相互左外连接查找省市县的数据(业务需求必须这样做,省市去的是第一张表,而市县取的是第二张表,两张表中间通过市的名字连接)见这个博文 ...

  5. ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理

    话不多说,直接进入主题. 需求:基于Http请求接收Json格式数据,返回Json格式的数据. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性 ...

  6. SQLyog-直接导出JSON格式的数据

          前言:以前做过的一个项目,有这样的一个需求使用搜索引擎来查询对应的区域信息,不过区域信息要先导出来,并且数据格式是JSON格式的,在程序中能实现这个需求,不过下面的这种方法更加的简单,通过 ...

  7. hive中导入json格式的数据(hive分区表)

    hive中建立外部分区表,外部数据格式是json的如何导入呢? json格式的数据表不必含有分区字段,只需要在hdfs目录结构中体现出分区就可以了 This is all according to t ...

  8. Android Volley获取json格式的数据

    为了让Android能够快速地访问网络和解析通用的数据格式Google专门推出了Volley库,用于Android系统的网络传输.volley库可以方便地获取远程服务器的图片.字符串.json对象和j ...

  9. SSH返回Json格式的数据

      在开发中我们经常遇到客户端和后台数据的交互,使用比较多的就是json格式了.在这里以简单的Demo总结两种ssh返回Json格式的数据 项目目录如下 主要是看 上图选择的部分 WebRoot里面就 ...

随机推荐

  1. 19-10-15-W

    暴力终于不跪了$\text{QvQ}$ z总j结 考试开始看到几个大字:Day1 Happy-(××终于不用爆〇了哈哈哈哈!!) 开T1.一看,不是在线仙人球嵌套动态网络路径剖分优化的分支定界贪心剪枝 ...

  2. JEECMS 系统权限设计

    1.用户校验. 登录校验主要围绕着用户后台登陆的url拦截 a.围绕着用户登录过程中设计到两张用户表 jc_user:存储着用户的基本信息 jo_user:存储着用户登录.注册.更新时间及用户密码信息 ...

  3. eclipse环境问题-java版本不兼容

    有时候虽然我们给项目配置的jdk版本.项目编译版本都一直,但是还是会报如下的错误: Description Resource Path Location Type Java compiler leve ...

  4. Java虚拟机系列(二)---HotSpot虚拟机对象

    都知道Java是一门面向对象的编程语言,在Java程序运行过程中,无时无刻不在创建对象,所以这节来总结一下HotSpot虚拟机中的Java对象. 一.Java虚拟机对象的创建过程. 在语义层面创建一个 ...

  5. fastjson循环引用 问题@ManyToOne @OneToOne返回数据中"$ref"问题

    返回数据为 这样前端就无法获取正确数据(至少是不改变代码,不增加代码量的情况下) 所以还是改返回值比较好 根据查阅 https://blog.csdn.net/qq_38487524/article/ ...

  6. rdf(资源描述框架)

    资源描述框架(Resource Description Framework),一种用于描述Web资源的标记语言.RDF是一个处理元数据的XML(标准通用标记语言的子集)应用,所谓元数据,就是“描述数据 ...

  7. 【MFC 】关于对话框中的OnVScroll() 和 OnHScroll

    原文地址:[MFC 中]关于对话框中的OnVScroll() 和 OnHScroll()函数作者:Winters     对话框中的滑块,微调控件都会向OnVScroll() 和OnHScroll() ...

  8. chage 修改用户密码有效期限的命令

    chage 用语法格式: chage [-l] [-m 最小天数] [-M 最大天数] [-W 警告] [-I 失效日] [-E 过期日] [-d 最后日] 用户 前面已经说的好多了,这个只是一笔带过 ...

  9. 如何处理HTML5新标签的浏览器兼容问题?

    方法一 : 1.使用静态资源的html5shiv包 <!--[if lt IE9]> <script src="http://cdn.static.runoob.com/l ...

  10. 华为 Mate8 Emui 5.0 安卓 7.0 root 记录

    步骤: 0.备份手机全部资料 1.华为官网申请解锁码 (unlock password) http://emui.huawei.com/plugin/hwdownload/download 2.关闭手 ...