List<bean>转换Jsonarray知识心得
使用基本的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知识心得的更多相关文章
- 将bean转换成键值列表
		
日常开发中在进行接口对接的数据传输时,有一种场景是将bean转成jsonString,这里可以将bean转换成Map再转成jsonString. 工具类如下: public static String ...
 - Spring实战3:装配bean的进阶知识
		
主要内容: Environments and profiles Conditional bean declaration 处理自动装配的歧义 bean的作用域 The Spring Expressio ...
 - 将bean转换成XML字符串
		
package com.sinoservices.bms.bbl.rest.bean; import javax.xml.bind.annotation.XmlAccessType; import j ...
 - List<bean> 转换成List<Map>
		
//将listmap转换成list实体类 List<OaAttachment>list=new ArrayList<OaAttachment>(); if(Func.isNot ...
 - Spring基础学习笔记-Bean的基础知识
		
一. Bean的定义,初始化,使用和销毁 二.ref指定依赖的三种模式 三.Bean的五种自动装配模式(autowire) 四.Bean依赖检查的4种模式:配合atuowire使用,dependenc ...
 - java bean 转换工具
		
考量要素: 1.简单的约定优于配置的同名属性copy 2.嵌套属性copy 3.flattern(扁平化)支持,要支持N层结构的copy到一层结构. 4.性能 如下这个网页,里面提到了好多工具. ht ...
 - Spring配置bean的详细知识
		
在Spring中配置bean的一些细节.具体信息请参考下面的代码及注释 applicationContext.xml文件 <?xml version="1.0" encodi ...
 - XStream(xml/bean转换)
		
XStream 1. 什么作用 * 可以把JavaBean转换为(序列化为)xml 2. XStream的jar包 * 核心JAR包:xstream-1.4.7.jar: * 必须依赖包:xpp ...
 - springMvc中自定义bean转换接收前台传的参数
		
转载:https://blog.csdn.net/u013476435/article/details/81538099 因前端整体传参时,参数名都不是驼峰写法,类似 music_name,music ...
 
随机推荐
- leetcode--011 copy list with random pointer
			
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA3UAAABjCAIAAACzC75sAAAMTElEQVR4nO3cyYHivBYG0D8n0nIojo ...
 - java 获取指定日期
			
//可以设置指定那一天:例如,最近一周,参数传入-7,最近一月,参数传入-30...private String getBeginDate(int date) throws ParseExceptio ...
 - jmeter+ant+jenkins+mac使用HTML Publisher插件后查看html报告显示不正常
			
Jenkins安全默认将以下功能关闭: 1.javascript2.html上的内置插件3.内置css或从其它站的css4.从其它站的图处5.AJAX 报告中有javascript,所以显示异常.解决 ...
 - UVa 10925 - Krakovia
			
题目大意:关于大数的加法和除法的,用Java的BigInteger可以方便地解决. import java.io.*; import java.util.*; import java.math.*; ...
 - 谈谈如何从Apache官网扒文档
			
学习java的猴子至少要会看文档, 一.从Apache官网下载文档 进入官网--components--例如点击FileUpload--点击最下面browser download area--点击bi ...
 - Nodejs中Mongodb使用
			
Mongodb使用 打开解压后的Mongodb文件夹,新建data.logs文件夹,并在logs文件夹中新建mongodb.log文档. 添加后Mongod文件夹示意图: 用cmd命令行启动Mongo ...
 - Storm学习笔记六
			
1 Storm的通信机制 说明:1.worker与worker之间跨进程通信: 2.worker内部中各个executor间的通信,Task对象--->输入队列queue--->执行--- ...
 - iOS 设置UILable字体,及计算长度和位置
			
UILabel *lastLable = [[UILabel alloc] init]; UIFont *font = [UIFont fontWithName:lastLable.font.font ...
 - 线程(thread)
			
线程(thread): 现代操作系统引入进程概念,为了并发(行)任务 1.进程之间的这种切换代价很高 2.通信方式的代价也很大基本概念: 1.线程是比进程更小的资源单位,它是进程中的一个执行路线(分支 ...
 - easyui datagrid行中点击a标签链接,行被选中,但是获取不到对应的参数
			
easyui中使用比较多的就是datagrid了,表格中添加连接,点击跳转,为比较常用的方式;往往在点及标签后调用getSeleted方法会失效; 一.初始代码: {field: 'id',title ...