现在的位置: 首页 > 综合 > 正文

ResultSetExtractor 的小demo

2018年04月18日 ⁄ 综合 ⁄ 共 1123字 ⁄ 字号 评论关闭

ResultSetExtractor:用于结果集数据提取,用户需实现方法extractData(ResultSet
rs)来处理结果集,用户必须处理整个结果集;(摘录比我说的好的句子)

@SuppressWarnings("unchecked")
	public void querySql(String sql){		
		List<User> list =jdbcTemplate.query(sql, new ResultSetExtractor(){
			@Override
			public Object extractData(ResultSet rs) throws SQLException,DataAccessException {
				ResultSetMetaData meta = rs.getMetaData();
				int cc = meta.getColumnCount(); //表的列数
				List<User> users  = new ArrayList<User>();
				while (rs.next()){
					User user = new User();
					user.setId(rs.getString(1));
					user.setName(rs.getString(2));
	<span style="white-space:pre">				</span>user.setPassword(rs.getString("password"));
					users.add(user);
					for (int i = 0; i <= cc; i++) {     //打印列名
					String kpiName = meta.getColumnName(i);
					System.out.println(kpiName);
					}
					
				}
				
				
				return users;
			}
			
		});
		
		System.out.println(list.size());
		
	}

测试sql为:String sql ="select * from TEST_1";

List<User> list中的数据即为测试sql的结果集 :  [User [id=DDD, name=admin, password=123456], User [id=2, name=admin, password=admin123], User [id=3, name=admin, password=admin123], User [id=DDD, name=admin, password=123], User [id=DDD, name=admin, password=123456], User [id=abcd, name=abcf, password=abce], User [id=DDD, name=admin, password=123456], User [id=DDD, name=admin, password=123456]]


抱歉!评论已关闭.