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数据库中的所有数据,但是当前只想要恢复该数据库的某张表数据,该怎么处理呢? 已知恢复整个数据库 ...
随机推荐
- 工作中常用HTML知识点整理
1.table相关样式 border:设置表格边框大小cellspacing:设置单元格间距cellpadding:设置单元格边界与单元格内容间距border-collapse:设置表格的边框是否被合 ...
- 解决VMware与win10无法共享目录
1.安装VMware Tools 这一步适用于多数情况,但对于高版本的VMWare这一步无效,当然了,先试一试总没有坏处. 有看见网上说如果VMware内安装的是高版本的Ubuntu,安装的VMwar ...
- C++ 多线程的错误和如何避免(11)
不要在对时间敏感的上下文中使用 .get() 先看下面的代码, #include "stdafx.h" #include <future> #include <i ...
- 案例分享:Qt激光加工焊接设备信息化软件研发(西门子PLC,mysql数据库,用户权限控制,界面设计,参数定制,播放器,二维图,rgv小车,期限控制,参数调试等)
需求 1.键鼠控制,承担ui界面设计,布局兼容分辨率1024x768 ~ 1920x1080. 2.权限控制:三种权限,分为管理员(可以定制模块界面,修改产品名称等定制化软件和其他权限,同时具备 ...
- python运算符---day04
1.python运算符 (1)算数运算符: + - * / // % ** (2)比较运算符: > < >= <= == != (3)赋值运算符:= += -= *= /= / ...
- 【LeetCode二叉树#20】二叉搜索树转换为累加树,巩固二叉树的遍历(特殊的中序遍历)
将二叉搜索树转换为累加树 力扣题目链接(opens new window) 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 no ...
- RocketMQ(3) 根据消息key查询功能的实现: indexFile
三: indexFile 除了通过通常的指定Topic进行消息消费外,RocketMQ还提供了根据key进行消息查询的功能. 该查询是通过store目录中的index子目录中的indexFile进行索 ...
- C++ //类模板分文件编写问题及解决 //第一中解决方式 直接包含源文件 //第二种解决方法 将.h 和 cpp的内容写到一起,将后缀改为.hpp文件
1 //第一种方式被注释 2 //未被注释是第二种方式 3 //类模板分文件编写问题及解决 4 5 6 #include <iostream> 7 #include <string& ...
- iview 动态表单验证 FormItem prop rules v-show 动态表单校验
iview 动态表单验证 FormItem prop rules v-show 重点1 用v-show 控制显示隐藏 重点2 prop 指定字段 重点3 :rules 动态指定规则 <div v ...
- 【easy52pojie】一款方便看吾爱论坛帖子的爬虫程序
众所周知吾爱论坛一页最多显示十来条回帖,且间隔很大,每页的信息密度太低了.在帖子很庞大的情况下,一页一页翻页,着实有点痛苦. 故简单敲敲代码,使用request xpath技术做了一个论坛帖子回复查看 ...