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数据库中的所有数据,但是当前只想要恢复该数据库的某张表数据,该怎么处理呢? 已知恢复整个数据库 ...
随机推荐
- 关于动态抽样(Dynamic Sampling)
关于动态抽样(Dynamic Sampling) 原文:http://www.oracle.com/technetwork/issue-archive/2009/09-jan/o19asktom-08 ...
- 《系列二》-- 11、Aware是什么
目录 正文 阅读之前要注意的东西:本文就是主打流水账式的源码阅读,主导的是一个参考,主要内容需要看官自己去源码中验证.全系列文章基于 spring 源码 5.x 版本. 写在开始前的话: 阅读spri ...
- golang获取windows版本和详细信息
场景: 将木马丢到感染机运行后回连时希望返回感染机的操作系统信息.golang 可以通过runtime.OS获取到操作系统类型,但是无法获取详细的版本信息,如win7 win10等, 解决方案; 下面 ...
- 导致Redis访问慢的常见操作
导致Redis访问慢的原因通常有2个方面: 第一,Redis本身性能出现了瓶颈,如:内存使用率过高,并发过大等 第二,存在大KEY,或者客户端访问命令使用不当引起的阻塞 在此,只列举因为的客户端命令使 ...
- PRINCE2系列一基于项目情境自定义解决方案
PRINCE2(PRojects IN Controlled Environments,受控环境下的项目管理) 对项目进行了如下定义:项目是按照一个被批准的商业论证,为了交付一个或多个商业产品而创建的 ...
- Vue3基础知识提炼
1.{{}} data2.""等同{{}},数据单向绑定v-bind: 简化 :3.v-if v-else4.v-for="(i, index) in array&quo ...
- 【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)
问题描述 Azure API Management 是否可以通过请求中的Path来限定其被访问的频率? 在系统Request中发现某个Path 在短时间内被频繁的调用,影响了后台服务的性能及安全,所以 ...
- kotlin协程异常处理之-try catch
kotlin协程小记 协程的async使用 kotlin协程异常处理之-try catch kotlin协程异常处理之-CoroutineExceptionHandler 一.try catch tr ...
- 四种色彩模式ARGB_8888、ARGB_4444、 RGB_565、 ALPHA_8
A:透明度. R:红色. G:绿色. B:蓝色. Bitmap.Config ARGB_8888:有四个8位组成,A,R,G,B各占八位,也就是各占一个字节.也就是一个像素点占4个字节,32位. Bi ...
- .NET周刊【3月第1期 2024-03-03】
国内文章 推荐10款C#开源好用的Windows软件 https://www.cnblogs.com/Can-daydayup/p/18035760 DevToys.Microsoft PowerTo ...