net.sf.json.JSONObject,将MySQL数据库的数据读出转化为json数据
maven依赖:
1 <dependency>
2 <groupId>net.sf.json-lib</groupId>
3 <artifactId>json-lib</artifactId>
4 <version>2.2.3</version>
5 <classifier>jdk13</classifier>
6 </dependency>
源代码:
1 package com.reliable.service;
2 import net.sf.json.JSONArray;
3 import net.sf.json.JSONObject;
4 import com.reliable.dao.ReadDB;
5 import com.reliable.util.JDBCUtil;
6 import java.sql.Connection;
7 import java.sql.PreparedStatement;
8 import java.sql.ResultSet;
9 import java.sql.SQLException;
10 import java.util.*;
11
12 public class ReadDBImpl implements ReadDB {
13 private PreparedStatement preparedStatement=null;
14 private Connection conn =null;
15 private ResultSet resultSet=null;
16 @Override
17 public void getAllDbData() throws SQLException {
18 HashMap<String, String> map = new HashMap<>();
19 ArrayList<String> list = new ArrayList<String>();
20 conn= JDBCUtil.getConnection();
21 if(conn!=null)
22 {
23 System.out.println("数据库连接成功!");
24 }
25 preparedStatement=conn.prepareStatement("select * from hello;");
26 resultSet = preparedStatement.executeQuery();
27 while(resultSet.next()) {
28 String name= resultSet.getString(1);
29 String sex =resultSet.getString(2);
30 String age= resultSet.getString(3);
31 list.add(name+","+sex+" "+age);
32 }
33 for (int i=0;i<list.size();i++)
34 {
35 map.put(String.valueOf(i),list.get(i));
36 }
37 JSONObject jo = JSONObject.fromObject(map);
38 // System.out.println(jo);
39
40 //遍历 01
41 Set<String> keys = map.keySet(); //map.keySet()返回key的集合
42 for(String key:keys) {
43 System.out.println(key+":"+map.get(key)); //map.get(key)返回key所对应的value值
44 }
45 System.out.println("--------------------------");
46 //遍历 02
47 Iterator<String> it02 = keys.iterator();
48 String key;
49 while (it02.hasNext()) {
50 key = it02.next();
51 System.out.println(key+":"+map.get(key));
52 }
53 System.out.println("--------------------------");
54 //遍历 03
55 Set<Map.Entry<String,String>> entrySet = map.entrySet(); //map.entrySet()返回<key,value>键值对的集合
56 for (Map.Entry<String,String> entry:entrySet) {
57 System.out.println(entry.getKey()+":"+entry.getValue()); //entry.getKey()返回key,entry.getValue()返回value
58 }
59 //遍历 04
60 System.out.println("--------------------------");
61 Iterator<Map.Entry<String,String>> it04 = entrySet.iterator();
62 Map.Entry<String,String> entry;
63 while (it04.hasNext()) {
64 entry = it04.next();
65 System.out.println(entry.getKey()+":"+entry.getValue());
66 }
67 JDBCUtil.release(conn,preparedStatement);
68 }
69 }
运行结果:

net.sf.json.JSONObject,将MySQL数据库的数据读出转化为json数据的更多相关文章
- JSON文件存入MySQL数据库
目标:将不同格式的JSON文件存入MySQL数据库 涉及的点有: 1. java处理JSON对象,直接见源码. 2. java.sql.SQLException: Incorrect string v ...
- 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几?如何获取当前数据库版本?
一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几? 一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysq ...
- Statement和PreparedStatement的特点 MySQL数据库分页 存取大对象 批处理 获取数据库主键值
1 Statement和PreparedStatement的特点 a)对于创建和删除表或数据库,我们可以使用executeUpdate(),该方法返回0,表示未影向表中任何记录 b)对于创建和 ...
- mysql数据库(一):建表与新增数据
一. 学习目标 理解什么是数据库,什么是表 怎样创建数据库和表(create) 怎样往表里插入数据(insert) 怎样修改表里的数据(update) 怎样删除数据库,表以及数据(delete) 二. ...
- MySQL 数据库中如何把A表的数据插入到B表?
web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码 ...
- python连接mysql数据库,并进行添加、查找数据
1.删除MySQL数据表中的记录 DELETE FROM table_name WHERE condition; python操作mysql1数据库 import pymysql # 连接mysql数 ...
- Mysql数据库基础第四章DDL(数据定义语言):库表的管理、数据类型与约束条件
Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...
- python访问mysql将返回的表转化为json
## Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreement ...
- 获取一个表单字段中多条数据并转化为json格式
如图需要获取下面两个li标签里面的数据,然后传给后台:而后台接收的数据格式是json的,所以需要把两个li里面的信息转化为以下格式的. {recieverName:小红,recieverPhone:1 ...
- MySQL 数据库恢复一张表中的数据
如果使用 mysqldump -uroot -p123 user > test.sql备份了user数据库中的所有数据,但是当前只想要恢复该数据库的某张表数据,该怎么处理呢? 已知恢复整个数据库 ...
随机推荐
- Java I/O 教程(三) FileOutputStream类
Java FileOutputStream 用于将字节数据写入文件. 如果你需要将原始数据写入文件,就使用FileOutputStream类. Java.io.FileOutputStream cla ...
- SpringBoot整合aspectj实现面向切面编程(即AOP)
前言 "面向切面编程",这样的名字并不是非常容易理解,且容易产生一些误导.但在实际业务中,AOP有着广泛的用途,比如日志记录,性能统计,安全控制,事务处理,异常处理等等. 举些栗子 ...
- linux下安装nginx(编译安装)及反向代理及负载均衡
首先卸载掉之前用yum命令下载的nginx yum remove nginx 安装nginx需要的依赖库 yum install -y gcc patch libffi-devel python-de ...
- 【Java复健指南07】OOP中级02-重写与多态思想
前情提要:https://www.cnblogs.com/DAYceng/category/2227185.html 重写 注意事项和使用细节 方法重写也叫方法覆法,需要满足下面的条件 1.子类的方法 ...
- 【Java复健指南01】简介与数组
写在最前 学习Java已经是很久之前的事情了,因为技术栈的转变,很久没有使用Java正经地开发过项目. 对于该语言的理解也是停留在表面,因此萌生了重新学习的念头.一方面是为刷算法题打基础,另一方面也是 ...
- 【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
问题描述 在Azure App Service for Windows的环境中,部署.NET应用,其中使用了 SAP NetWeaver RFC函数 (需要加载 sapnwrfc.dll).详细的错误 ...
- 【Azure 应用程序见解】通过无代码方式在App Service中启用Application Insights后,如何修改在Application Insights中显示的App Service实例名呢?
问题描述 在App Service中,可以非常容易的启动Application Insights服务.默认情况中,在Application Insights中查看信息时候,其中的对象名称默认为App ...
- POM模式核心思想?
对页面元素进行封装为类的属性 对用例执行流程设计成类的实例方法 通过定义好的页面类实例化一个对象,通过对象调用实例方法执行用例 核心作用: 可以较少代码的冗余,方便后面维护,如果页面元素发生改变, 只 ...
- vmware虚拟机出现此电脑无法运行win11,虚拟机中安装win11系统教程
一.点击新建虚拟机 二.选择自定义安装 三.默认 四.选择win11镜像 五.选择windows 六.命名 七.勾选安全引导 八.两个处理器即可 九.最低4G内存,接下来一直默认点下一步即可 十.创建 ...
- tomcat SSL安全连接配置简介
tomcat中使用https提供服务,配置的方式有两种.生成或购买CA证书时会要求绑定域名.设置密码和证书别名(aliase). tomcat可用的证书列表里用三个文件: 方式一: <Conne ...