使用基本的jdbc连接mysql,获取数据。

创建实体类user:

package com.json;

public class user {
private int id;
private String username;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
private String password;
private score score; public user() {
super();
}
public user(String username, String password, com.json.score score) {
super();
this.username = username;
this.password = password;
this.score = score;
}
public score getScore() {
return score;
}
public void setScore(score score) {
this.score = score;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
} }

创建utildao工具类:

package com.json;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class utildao {
public static Connection getConnection(){
Connection conn=null;
String url="jdbc:mysql://localhost:3306/test";
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url,"用户名","密码");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("数据库驱动加载出错");
}catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库出错");
}
return conn;
}
public static void close(ResultSet rs,PreparedStatement p,Connection conn){
try {
rs.close();
p.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库关闭出错");
}
}
public static void main(String[] args) {
System.out.println(utildao.getConnection());
}
}

创建查询:

package com.json;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class jsonjiexi {
public static ResultSet getjson(){
Connection conn=null;
PreparedStatement p=null;
ResultSet rs=null;
try {
conn=utildao.getConnection();
String sql="select * from userone";
p=conn.prepareStatement(sql);
rs=p.executeQuery();
while(rs.next()){
//utildao.close(rs, p, conn);
//System.out.println("查询结束,关闭");
return rs;
}
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
} }

最后main方法类:

package com.json;

import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class huoqujson {
public static void main(String[] args) throws SQLException {
//注释掉此段为,将jdbc获取的resultset转换为list集合
/*List list=new ArrayList();
ResultSet rs=jsonjiexi.getjson();
ResultSetMetaData md=rs.getMetaData();
int num=md.getColumnCount();
while(rs.next()){
Map rowData=new HashMap();
for(int i=1;i<=num;i++){
rowData.put(md.getColumnName(i),rs.getObject(i));
}
list.add(rowData);
}
System.out.println(list.toString());*/
//这段实现了将jdbc获取的数据,赋值给实体类,添加进List,最后转换为jsonarray
user us=new user();
List<user> list=new ArrayList<user>();
ResultSet rs=jsonjiexi.getjson();
while(rs.next()){
us.setId(rs.getInt("id"));
us.setUsername(rs.getString("name"));
us.setPassword(rs.getString("pwd"));
System.out.println(us.getId()+":"+us.getUsername()+":"+us.getPassword());
}
list.add(us);
JSONArray array=JSONArray.fromObject(list);
System.out.println(array.toString());
} }

编写期间遇到的错误,在Main方法执行之后,由于没有导入某些jar包报的错误:

commons-lang-2.4.jar不加这个包 
java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException

commons-logging-1.1.1.jar不加这个包 
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

commons-beanutils-1.8.0.jar不加这个包


java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean
commons-collections.jar 不加这个包
java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap
ezmorph-1.0.4.jar不加这个包
java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
json-lib-2.3-jdk15.jar不加这个包
java.lang.NoClassDefFoundError: net/sf/json/JSONObject 

List<bean>转换Jsonarray知识心得的更多相关文章

  1. 将bean转换成键值列表

    日常开发中在进行接口对接的数据传输时,有一种场景是将bean转成jsonString,这里可以将bean转换成Map再转成jsonString. 工具类如下: public static String ...

  2. Spring实战3:装配bean的进阶知识

    主要内容: Environments and profiles Conditional bean declaration 处理自动装配的歧义 bean的作用域 The Spring Expressio ...

  3. 将bean转换成XML字符串

    package com.sinoservices.bms.bbl.rest.bean; import javax.xml.bind.annotation.XmlAccessType; import j ...

  4. List<bean> 转换成List<Map>

    //将listmap转换成list实体类 List<OaAttachment>list=new ArrayList<OaAttachment>(); if(Func.isNot ...

  5. Spring基础学习笔记-Bean的基础知识

    一. Bean的定义,初始化,使用和销毁 二.ref指定依赖的三种模式 三.Bean的五种自动装配模式(autowire) 四.Bean依赖检查的4种模式:配合atuowire使用,dependenc ...

  6. java bean 转换工具

    考量要素: 1.简单的约定优于配置的同名属性copy 2.嵌套属性copy 3.flattern(扁平化)支持,要支持N层结构的copy到一层结构. 4.性能 如下这个网页,里面提到了好多工具. ht ...

  7. Spring配置bean的详细知识

    在Spring中配置bean的一些细节.具体信息请参考下面的代码及注释 applicationContext.xml文件 <?xml version="1.0" encodi ...

  8. XStream(xml/bean转换)

    XStream 1. 什么作用  * 可以把JavaBean转换为(序列化为)xml 2. XStream的jar包  * 核心JAR包:xstream-1.4.7.jar:  * 必须依赖包:xpp ...

  9. springMvc中自定义bean转换接收前台传的参数

    转载:https://blog.csdn.net/u013476435/article/details/81538099 因前端整体传参时,参数名都不是驼峰写法,类似 music_name,music ...

随机推荐

  1. leetcode--011 copy list with random pointer

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA3UAAABjCAIAAACzC75sAAAMTElEQVR4nO3cyYHivBYG0D8n0nIojo ...

  2. java 获取指定日期

    //可以设置指定那一天:例如,最近一周,参数传入-7,最近一月,参数传入-30...private String getBeginDate(int date) throws ParseExceptio ...

  3. jmeter+ant+jenkins+mac使用HTML Publisher插件后查看html报告显示不正常

    Jenkins安全默认将以下功能关闭: 1.javascript2.html上的内置插件3.内置css或从其它站的css4.从其它站的图处5.AJAX 报告中有javascript,所以显示异常.解决 ...

  4. UVa 10925 - Krakovia

    题目大意:关于大数的加法和除法的,用Java的BigInteger可以方便地解决. import java.io.*; import java.util.*; import java.math.*; ...

  5. 谈谈如何从Apache官网扒文档

    学习java的猴子至少要会看文档, 一.从Apache官网下载文档 进入官网--components--例如点击FileUpload--点击最下面browser download area--点击bi ...

  6. Nodejs中Mongodb使用

    Mongodb使用 打开解压后的Mongodb文件夹,新建data.logs文件夹,并在logs文件夹中新建mongodb.log文档. 添加后Mongod文件夹示意图: 用cmd命令行启动Mongo ...

  7. Storm学习笔记六

    1 Storm的通信机制 说明:1.worker与worker之间跨进程通信: 2.worker内部中各个executor间的通信,Task对象--->输入队列queue--->执行--- ...

  8. iOS 设置UILable字体,及计算长度和位置

    UILabel *lastLable = [[UILabel alloc] init]; UIFont *font = [UIFont fontWithName:lastLable.font.font ...

  9. 线程(thread)

    线程(thread): 现代操作系统引入进程概念,为了并发(行)任务 1.进程之间的这种切换代价很高 2.通信方式的代价也很大基本概念: 1.线程是比进程更小的资源单位,它是进程中的一个执行路线(分支 ...

  10. easyui datagrid行中点击a标签链接,行被选中,但是获取不到对应的参数

    easyui中使用比较多的就是datagrid了,表格中添加连接,点击跳转,为比较常用的方式;往往在点及标签后调用getSeleted方法会失效; 一.初始代码: {field: 'id',title ...