package com.lzy.obj;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Demo12 {
public static void main(String[] args) {
test02();
}
public static void test01() {
Connection conn=JDBCUtil.getMysqlConn();
PreparedStatement ps=null;
ResultSet rs=null;
Map<String,Object>row=new HashMap<String,Object>();//使用Map封装一条记录
try {
ps=conn.prepareStatement("select empname,salary,age from emp where id=?");
ps.setObject(1, 1);
rs=ps.executeQuery();
while(rs.next()) {
row.put("empname", rs.getObject(1));
row.put("salary", rs.getObject(2));
row.put("age", rs.getObject(3));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
JDBCUtil.close(rs,ps,conn);
}
for(String key:row.keySet()) {
System.out.println(key+"--"+row.get(key)+"\t");
}
}
public static void test02() {
Connection conn=JDBCUtil.getMysqlConn();
PreparedStatement ps=null;
ResultSet rs=null;
List<Map<String,Object>>list=new ArrayList<>();
try {
ps=conn.prepareStatement("select empname,salary,age from emp where id>?");
ps.setObject(1, 1);
rs=ps.executeQuery();
while(rs.next()) {
Map<String,Object>row=new HashMap<String,Object>();
row.put("empname", rs.getObject(1));
row.put("salary", rs.getObject(2));
row.put("age", rs.getObject(3));
list.add(row);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
JDBCUtil.close(rs,ps,conn);
}
//遍历Map,就是遍历这一行的多列的信息
for(Map<String,Object> row:list){
for(String key:row.keySet()){
System.out.print(key+"--"+row.get(key)+"\t");
}
System.out.println();
}
}
}
test01()封装一条数据,test02()封装多条数据
JDBCUtil类和文件db.properties与前面文章的一致
test02()运行结果:
empname--lzy2 salary--20000.0 age--20
empname--lzy3 salary--40000.0 age--19