编写JAVA与MySQL使用JDBC连接的程序,并且将数据库中返回的ReseltSet结果集保存为List,同时存入数据库中的新表
1、MySQL中存在bigint数据类型,其对应JAVA中java.math.biginteger
代码:
ArrayList newList = new ArrayList();
newList.add((BigInteger)set.getObject("counts"));
MySQL中各种数据类型对应的JAVA数据类型——http://wenku.baidu.com/link
url=Asimw5GliYIgQVul803kci4_JHwEmpx9Wnw02j7haW_7quD61o6Bo0GAkqS1BKDHMiVMN3Bc-BaDj382E9-L79nIveV71w2HE4j8ubDAvRG
2、List,JAVA中一种容器,实例化:List<数据类型> list = new ArrayList<数据类型>();
各种方法
增:list.add(e),或list.add(index,e)添加后下标后的元素后挪一位
删:list.remove(e)返回是否成功,或list..remove(e)只删除找到的第一个元素
查:list.get(index),或list.subList(1,3)查询某一段的元素,含头不含尾
改:list.set(index,e)
清空:list.clear();
判断是否存在某元素:list.contains(e)
获得元素下标:list.indexOf(e)只返回第一个
对比相等:list.equals(list2) ,或list.hashCode() == list2.hashCode()对比哈希码
判断是否为空:list.isEmpty():
其迭代器为ListIterator,,在迭代器操作集合时不能再用上述的集合方法
3、将结果集转化为List集合
public static
<T> List<T> convertToList(ResultSet rs,Class<T> t)
throws
SQLException {
List<Map<String, Object>> list =
new
ArrayList<Map<String, Object>>();
ResultSetMetaData md = (ResultSetMetaData) rs.getMetaData();
int
columnCount = md.getColumnCount();
while
(rs.next()) {
Map<String, Object> rowData =
new
HashMap<String, Object>();
for
(
int
i =
1
; i <= columnCount; i++) {
rowData.put(md.getColumnName(i), rs.getObject(i));
}
list.add(rowData);
}
JSONArray jr = JSONArray.fromObject(list);
List<T> resultList = JSONArray.toList(jr, t);
return
resultList;
}