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. linux负载均衡(什么是负载均衡)

    linux负载均衡(什么是负载均衡) 一.总结 一句话总结: 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用 ...

  2. springboot核心技术(二)-----自动配置原理、日志

    自动配置原理 配置文件能配置的属性参照 1.自动配置原理: 1).SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration 2).@Enable ...

  3. CentOS 6.8 Linux系统U盘制作启动项

    1.下载CentOS 6.8镜像文件: 2.下载地址:http://man.linuxde.net/download/CentOS_6_8 3.准备一个U盘,最好8G的: 4.下载UltraISO盘制 ...

  4. SpringBoot防XSS攻击

    1 . pom中增加依赖 <!-- xss过滤组件 --> <dependency> <groupId>org.jsoup</groupId> < ...

  5. 2019-8-31-dotnet-如何调试某个文件是哪个代码创建

    title author date CreateTime categories dotnet 如何调试某个文件是哪个代码创建 lindexi 2019-08-31 16:55:58 +0800 201 ...

  6. Mac下,spacy配置

    pip3 install -U spacy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com python3 -m spa ...

  7. spring源码学习之容器的扩展(二)

    六 BeanFactory的后处理BeanFactory作为spring容器的基础,用于存放所有已经加载的bean,为了保证程序上的高扩展性,spring针对BeanFactory做了大量的扩展,比如 ...

  8. 关闭浏览器或者关闭使用window.open打开的页面时添加监听事件

    最近工作中有个需求:点击按钮时打开一个页面,此处取名为page1,打开页面的前提条件是如果有人已经打开过page1页面并且没有关闭时请求ajax判断session是否为空,如果为空则将用户名和文档id ...

  9. mit课程ocw-business

    https://ocw.mit.edu/courses/find-by-topic/#cat=business Course # Course Title Level 1.011 Project Ev ...

  10. Cf序列化器-Serializer解析

    Cf序列化器-Serializer 定义序列化器 Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Seri ...