java 将数据库中的每一条数据取出放入数组或者List中
1、如何将数据库中数据按照行(即一整条数据)取出来,存入到数组当中?
public static String str = null; // 将StringBuffer转化成字符串 public static StringBuffer sb = new StringBuffer(); // StringBuffer便于字符串的增删改查操作 public static void main(String[] args) { String className = "net.sourceforge.jtds.jdbc.Driver"; String url = "jdbc:jtds:sqlserver://localhost:3306/test"; String dbusername = "shujuku"; // 数据库的名字 String password = "mima"; // 密码 // 加载驱动 try { Class.forName(className); // 建立连接 Connection conn; try { conn = DriverManager.getConnection(url, dbusername, password); Statement stat = conn.createStatement(); String sql = "select * from test"; // 将数据从数据库中读取出来 ResultSet rs = stat.executeQuery(sql); // 从ResultSet中将数据取出(假如数据库中每条数据有7列数据) while (rs.next()) { sb.append(rs.getString(1)); // 读出每一列的数据 sb.append("*"); // 在每列数据后面做标记,将来便于做拆分 sb.append(rs.getString(2)); sb.append("*"); sb.append(rs.getString(3)); sb.append("*"); sb.append(rs.getString(4)); sb.append("*"); sb.append(rs.getString(5)); sb.append("*"); sb.append(rs.getString(6)); sb.append("*"); sb.append(rs.getString(7)); sb.append("%"); // 在每条数据后面做标记,便于拆分 } str = sb.toString(); // 将数据由StringBuffer类型转化成String类型 String datas; // 将总数据以指定字符分割成数组,每条数据为数组的一项 String[] params = StringUtils.split(str, "%"); //将每条数据再拆分,则param数据保存的是一条数据的每一项数据 for (int i = 0; i < params.length; i++) { String[] param = StringUtils.split(this.rawData, "*"); //将数据进行你希望的操作,我进行的操作是对每条数据处理,然后再存入数据库另一张表中 }
2、如何存到List里面?
while(rs.next()){ Map<String ,Object> map=new HashMap<String, Object>(); map.put("id",rs.getString(1)); map.put("itemName",rs.getString(2)); map.put("version",rs.getString(3)); map.put("contents",rs.getString(4)); map.put("account",rs.getString(5)); map.put("psw",rs.getString(6)); map.put("tyTime",rs.getString(7)); listDatas.add(map); }
那么问题又来了:
问:假如我将ResultSet中的数据存到了List<Map<>>中,请问,如何将List里面的数据取出来?
答:可以先for循环,取出来List中的每条数据(Map<>形式的),放到一个Map中,再把Map中的数据取出来存到String数组当中
例如:
for(int i=0;i<list.size();i++){ Map dqMap = (Map)list.get(i); String jqh = dqMap.get('jqh'); String khh = dqMap.get('khh'); }
好了,我只能帮到这里了,注意下,这个是我手改了一下之前做的项目里面的代码,把隐私的数据去掉了,但是没运行代码,应该没错,这是我根据项目要求自己琢磨的对ResultSet的处理方式,至于好不好就不知道了,仅供参考了。
我是刚刚进入公司的Android实习生,菜鸟一枚,博客记录我犯过的错,收获的东西,学到的知识和技术,可能里面会有很多错误的地方,幼稚的地方,欢迎大家指出来,帮助我进步,但请别伤害我,我只是菜鸟一枚,我在努力争取进步。