Bee简单易用:单表操作、多表关联操作,可以不用写sql,极少语句就可以完成SQL操作;10分钟即可学会使用。

Bee功能强大:复杂查询也支持向对象方式,分页查询性能更高,一级缓存即可支持个性化优化。高级需求,还可以方便自定义SQL语句。

查询结果直接返回Json格式数据

1. 别的ORM工具为什么不能直接返回json格式数据

   当初ORM出现的目的就是为了用面向对象的方式操作数据库,查询时直接返回结果行的对象。json是在前后端分离后才流行起来的数据格式,此时ORM已出现十年了。但在前后端分离大行其道的今天,在微服务炙手可热之时,ORM工具怎么能不提供json相关的功能!

2. Bee提供的json查询功能

   从效率考虑,肯定是查询结果时,直接转成json格式数据比后面再转换要好。因此Bee提供了直接将查询结果返回json格式数据的方法。

SuidRich接口关于json的方法

PreparedSql接口关于json的方法

3. 使用例子

SuidRich接口关于json的方法使用实例

    String json=suidRich.selectJson(new User());Logger.info("selectJson(new User()):");Logger.info(json);

输出日志:

[Bee] selectJson SQL:
select id,email,last_name,name,password,username,createtime from user
selectJson(new User()):
[{"id":800001,"email":"beeUser@163.com","name":"Bee","password":"bee","username":"bee","createtime":1587126423000},{"id":800002,"email":"honey@163.com","name":"Honey","password":"honey","username":"honey","createtime":1583138493000},{"id":800003,"password":"bee-user","username":"testuser","createtime":1587126423000},{"id":800004,"password":"bee-user","username":"testuser","createtime":1587808755000}]

PreparedSql接口关于json的方法使用实例

      String jsonString1= preparedSql.selectJson(sql, new Object[] { "bee" },1,3);//array  selectJsonLogger.info(jsonString1);String jsonString= preparedSql.selectJson(sql2, map,1,3);//map  selectJsonLogger.info(jsonString);

4. 关于json格式的相关设置

在bee.properties中,可以对返回的json格式进行设置。

#查询结果直接返回Json是否忽略null
bee.osql.selectJson.ignoreNull=true
#查询结果直接返回Json中, timestamp是否用毫秒表示
bee.osql.selectJson.timestamp.withMillisecond=true
bee.osql.selectJson.date.withMillisecond=true
bee.osql.selectJson.time.withMillisecond=false

5. 将查询的json字符串转成对象

使用fasterxml 将查询User的json字符串转成User对象:

package org.teasoft.exam.bee.osql;import org.teasoft.bee.osql.SuidRich;
import org.teasoft.exam.bee.osql.entity.User;
import org.teasoft.honey.osql.core.BeeFactory;
import org.teasoft.honey.osql.core.Logger;import com.fasterxml.jackson.databind.ObjectMapper;/*** @author Kingstar* @since  1.7.2*/
public class UseJson {public static void main(String[] args) throws Exception {SuidRich suidRich = BeeFactory.getHoneyFactory().getSuidRich();String json = suidRich.selectJson(new User());Logger.info("selectJson(new User()):");Logger.info(json);ObjectMapper mapper = new ObjectMapper();User user[] = mapper.readValue(json, User[].class);Logger.info("将直接查询的json转成对象:");for (int i = 0; i < user.length; i++) {Logger.info(user[i].toString());}}
}

输出日志:

[Bee] selectJson SQL:
select id,email,last_name,name,password,username,createtime from user
selectJson(new User()):
[{"id":800001,"email":"beeUser@163.com","name":"Bee","password":"bee","username":"bee","createtime":1587126423000},{"id":800002,"email":"honey@163.com","name":"Honey","password":"honey","username":"honey","createtime":1583138493000},{"id":800003,"password":"bee-user","username":"testuser","createtime":1587126423000},{"id":800004,"password":"bee-user","username":"testuser","createtime":1587808755000}]

将直接查询的json转成对象:

User[id=800001,email=beeUser@163.com,lastName=null,name=Bee,username=bee,createtime=2020-04-17 20:27:03.0]
User[id=800002,email=honey@163.com,lastName=null,name=Honey,username=honey,createtime=2020-03-02 16:41:33.0]
User[id=800003,email=null,lastName=null,name=null,username=testuser,createtime=2020-04-17 20:27:03.0]
User[id=800004,email=null,lastName=null,name=null,username=testuser,createtime=2020-04-25 17:59:15.0]

经验证,转成的user对象与直接查询出来的一样。

旧的方式:

查询到Result结果集-->转成User对象List-->Spring等框架再将List转成json;

Bee的新方式:

查询到Result结果集-->将Result直接转成json;

将直接查询到的json,直接传回前端使用,解析效率提高了!

到这里,查询结果直接返回Json格式数据的用法就介绍完了。要是有什么问题,记得告诉我们哦!

Bee V1.9.8 查询结果直接返回Json数据,支持分页,只查询部分字段!

(八): 查询结果直接返回Json格式数据相关推荐

  1. django mysql返回json_Django 1.8.11 查询数据库返回JSON格式数据

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

  2. 返回json格式数据乱码

    本文为博主原创,未经允许不得转载: 原本返回json格式数据的代码: @ResponseBody@RequestMapping(value = "getListByTime", m ...

  3. Spring MVC--使用Jackson返回JSON格式数据

    使用Jackson返回JSON格式数据 index.jsp <%@ page language="java" contentType="text/html; cha ...

  4. 使用jQuery发送POST,Ajax请求返回JSON格式数据

    问题: 使用jQuery POST提交数据到PHP文件, PHP返回的json_encode后的数组数据,但jQuery接收到的数据不能解析为JSON对象,而是字符串{"code" ...

  5. Flask设置返回json格式数据

    https://blog.csdn.net/angus_17/article/details/80455838 from flask import Flask, jsonifyapp = Flask( ...

  6. ajax返回数据输出成表,javascript代码实例教程-ajax请求返回Json格式数据如何循环输出成table形式...

    小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过. 首先,Ajax请求数据,(用的是Jquery的Ajax) [javascript] $(function(){ ...

  7. java 返回 json格式_java 如何返回json格式数据,需要技巧

    今天上午给同事调了半个小时的程序,最后发现是在后台代码的java返回json格式的数据出了个错误.因此就想到了广大的初学者一开始学习jquery的时候可能会遇到这个问题.现在我就把我的给大家分享一下, ...

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

    和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式 返回多条数据 示例 import json from django.http import HttpResponse from dj ...

  9. JAVA中返回json格式数据

    1. 返回json格式 package com.demo.util;import com.alibaba.fastjson.JSONObject;import java.util.HashMap; i ...

最新文章

  1. (U3D)Time的使用
  2. 需求用例分析之九:序列图
  3. Android 6.0动态权限
  4. APICloud方法
  5. Panorama Viewer – jQuery 360度全景展示插件
  6. common lisp 学习第一天 初步接触
  7. 诺基亚:你以为他死了,他却靠这一点重回世界第二
  8. (转) intellij idea部署web项目时的位置(Tomcat)
  9. 7. Flask 大型程序的结构
  10. 一分钟带你全面了解计算机考研常识,让你对考研不再陌生!
  11. oracle 求班级平均分
  12. 多商户商城小程序源码有何优势?
  13. GD32使用IAR编程详细教程
  14. SpringBoot Controller Post接口单元测试
  15. ios 唤醒小键盘 如何使得小键盘上出现 “前往”、“搜索”、“”等按钮
  16. C++ 字符跑酷#3 游戏制作实录
  17. poj 3687(拓扑排序)
  18. idea 切换分支smart checkout和force checkout区别
  19. 什么时候进行套利交易比较好?
  20. MongoDB 入门教程实战学习笔记-31-mongo 聚合查询管道 Aggregation Pipieline

热门文章

  1. 基于Java+Mysql实现的PC端图书管理系统软件【100010031】
  2. Hosts文件位置及介绍
  3. mysql ogg kafka_Oracle goldengate 实现mysql到kafka同步配置
  4. Spring Boot 项目搭建
  5. navicat_premium连接Oracle数据库
  6. 网页全屏文字Css3D旋转特效动画
  7. 从零开始机器学习-03
  8. elasticjob spring xml 代码分析
  9. 老司机 iOS 周报 #54 | 2019-01-28
  10. 帝国CMS TAGS 结合百度富文本编辑器