资源描述:
《从数据库得到的结果集放到list集合中》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一、业务阐述 在开发中查询的数据库结果集,既要连接数据库、执行数据库操作、关闭数据库,还要把结果集的记录人为的设置到自己封装的DAO中等一系列的重复代码。本文主要是想解决:用户只需要得到数据库连接,写sql语句,自己封装dao,其余的操作由封转的小框架解决这些重复的工作,用户得到的只是一个集合List。List里面的元素有集合Map其中key是数据库中的字段类型,value是字段类型对应的值这个函数DBUtil.executeQuery(con,sql)List还提供集合元素存放的是dao对象,一条数据库记录对应一个dao对象,此函数是DB
2、Util.executeQuery(con,sql,Vehicle.class)以下提供源码的叙述 二、源码解说 测试类Main.java代码 1.package com.hewen.dao.manage; 2. 3.import java.sql.Connection; 4.import java.sql.PreparedStatement; 5.import java.sql.ResultSet; 6.import java.sql.SQLException; 7.import java.util.List; 8. 9
3、. 10.public class Main 11.{ 12. public static void main(String[] args) 13. { 14. Connection con; 15. try { 16. con = DBTest.getCon(); 17. } catch (SQLException e) { 18. e.printStackTrace(); 19. return;
4、 20. } 21. PreparedStatement pst = null; 22. ResultSet rs = null; 23. String sql = "select * from t_vehicle t where t.vehicle_id<4"; 24. /** 25. * 该方法用到的技术是通过结果集的列属性的性质得到,没有用到反射机制 26. * 这个测试用例也是把查询的结果集放到List集合 27.
5、 * 里面的元素是集合Map,key是数据库中的字段类型,value是 28. * 字段类型对应的值, 29. * 查询的结果如:[{KIND_ID=1, DEF_FLAG=null, CHANNELNO=1, SN=陆震,(822)22911,13771000789, 30. * BUYDATE=2010-02-26, DELETETIME=null, STAMP=2010-02-26, REGDATE=null, ISDELETED=0, 31.
6、* VEHICLE_ID=2, NUMBER_PLATE=苏B10001, VEHICLESTATE=待命状态(对应现场返回), USEDATE=2010-02-26, 32. * INTERPHONENO=null, NUMBER_PLATE_TYPE_ID=4, TEL2=null, STYLE=null, COLOR=null, 33. * INTERPHONEID=null, LASTMAINTAINTIME=null, INITDISTANCE=0, LAST_UPDATE_TIME=201
7、0-02-26, 34. * REMARK=null, TEL=null, SUPERVISER=null}, 35. * {KIND_ID=3, DEF_FLAG=null, CHANNELNO=1, SN=陆震, 36. * (822)22911,13771000789, BUYDATE=2010-02-26, DELETETIME=null, STAMP=2010-02-26, 37. * REGDATE=null, ISDELETED=0, VEHI
8、CLE_ID=3, NUMBER_PLATE=苏B90003, 38. * VEHICLESTATE=待命状态(对应现场返回), USEDATE=2010-