Map
//-----------------使用Map封装一条记录----------------------
package java_278_JDBC_ORM原理_使用Map封装一条记录_Map和List封装多条记录_练习;
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;
import javax.print.attribute.HashAttributeSet;
/**
*测试使用Map来封装一条记录
-
使用List<Map>数组,存储多条信息
*/
public class Demo02 {
public static void main(String[] args) {
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=?”);//如果只查一个人id=编号
//ps = conn.prepareStatement(“select empname,salary,age from emp where id>?”);//查多条信息
ps.setObject(1,1);
rs = ps.executeQuery();
//游标
while(rs.next()){
//System.out.println(rs.getString(1)+"–"+rs.getDouble(2)+"–"+rs.getInt(3));
row.put(“empname”, rs.getObject(1));
row.put(“salary”, rs.getObject(2));
row.put(“age”, rs.getObject(3));
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
JDBCUtil.close(rs, ps, conn);
}
//遍历Map 就是遍历这一行的多列的信息
for(String key:row.keySet()){//keySet键设置
System.out.print(key+"--"+row.get(key)+"\t");
}
}
}
//----------------------------结果-----------
//----------------------,存储多条信息-------------------------
package java_278_JDBC_ORM原理_使用Map封装一条记录_Map和List封装多条记录_练习;
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;
/**
*测试使用Map来封装一条记录
-
使用List<Map>数组,存储多条信息
*/
public class Demo02 {
//存储一条信息
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=?”);//如果只查一个人id=编号
//ps = conn.prepareStatement(“select empname,salary,age from emp where id>?”);//查多条信息
ps.setObject(1,1);
rs = ps.executeQuery();
//游标
while(rs.next()){
//System.out.println(rs.getString(1)+"–"+rs.getDouble(2)+"–"+rs.getInt(3));
row.put(“empname”, rs.getObject(1));
row.put(“salary”, rs.getObject(2));
row.put(“age”, rs.getObject(3));
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
JDBCUtil.close(rs, ps, conn);
}
//遍历Map 就是遍历这一行的多列的信息
for(String key:row.keySet()){//keySet键设置
System.out.print(key+"--"+row.get(key)+"\t");
}
System.out.println();
}
//存储多条信息
public static void test02(){
Connection conn = JDBCUtil.getMysqlConn();
PreparedStatement ps = null;
ResultSet rs = null;
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();//使用Map存储一条信息
try {
//ps = conn.prepareStatement("select empname,salary,age from emp where id=?");//如果只查一个人id=编号
ps = conn.prepareStatement("select empname,salary,age from emp where id>?");//查多条信息
ps.setObject(1,0);
rs = ps.executeQuery();
//游标
while(rs.next()){
//System.out.println(rs.getString(1)+"--"+rs.getDouble(2)+"--"+rs.getInt(3));
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);//添加到list
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
JDBCUtil.close(rs, ps, conn);
}
//遍历Map 就是遍历这一行的多列的信息
for(Map<String,Object> row : list){
for(String key:row.keySet()){//keySet键设置
System.out.print(key+"--"+row.get(key)+"\t");
}
System.out.println();
}
}
public static void main(String[] args) {
test01();
System.out.println("---多条信息--");
test02();
}
}
//------------------结果--------------------------
//-----------------------------Map
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;
/**
*测试使用Map来封装一条记录
-
使用List<Map>数组,存储多条信息
*/
public class Demo02 {
//存储一条信息
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=?”);//如果只查一个人id=编号
//ps = conn.prepareStatement(“select empname,salary,age from emp where id>?”);//查多条信息
ps.setObject(1,1);
rs = ps.executeQuery();
//游标
while(rs.next()){
//System.out.println(rs.getString(1)+"–"+rs.getDouble(2)+"–"+rs.getInt(3));
row.put(“empname”, rs.getObject(1));
row.put(“salary”, rs.getObject(2));
row.put(“age”, rs.getObject(3));
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
JDBCUtil.close(rs, ps, conn);
}
//遍历Map 就是遍历这一行的多列的信息
for(String key:row.keySet()){//keySet键设置
System.out.print(key+"--"+row.get(key)+"\t");
}
System.out.println();
}
//存储多条信息
public static void test02(){
Connection conn = JDBCUtil.getMysqlConn();
PreparedStatement ps = null;
ResultSet rs = null;
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();//使用Map存储一条信息
try {
//ps = conn.prepareStatement("select empname,salary,age from emp where id=?");//如果只查一个人id=编号
ps = conn.prepareStatement("select empname,salary,age from emp where id>?");//查多条信息
ps.setObject(1,0);
rs = ps.executeQuery();
//游标
while(rs.next()){
//System.out.println(rs.getString(1)+"--"+rs.getDouble(2)+"--"+rs.getInt(3));
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);//添加到list
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
JDBCUtil.close(rs, ps, conn);
}
//遍历Map 就是遍历这一行的多列的信息
for(Map<String,Object> row : list){
for(String key:row.keySet()){//keySet键设置
System.out.print(key+"--"+row.get(key)+"\t");
}
System.out.println();
}
}
//Map<Map>里面存储多条信息;
public static void test03(){
Connection conn = JDBCUtil.getMysqlConn();
PreparedStatement ps = null;
ResultSet rs = null;
Map<String,Map<String, Object>> maps = new HashMap<String ,Map<String,Object>>();//使用Map存储一条信息
try {
//ps = conn.prepareStatement("select empname,salary,age from emp where id=?");//如果只查一个人id=编号
ps = conn.prepareStatement("select empname,salary,age from emp where id>?");//查多条信息
ps.setObject(1,0);
rs = ps.executeQuery();
//游标
while(rs.next()){
//System.out.println(rs.getString(1)+"--"+rs.getDouble(2)+"--"+rs.getInt(3));
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));
maps.put(rs.getString(1), row);//把row作为一行 ;getString(1)作为键
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
JDBCUtil.close(rs, ps, conn);
}
//遍历Map 就是遍历这一行的多列的信息
for(String empname: maps.keySet()){
Map<String,Object> row = maps.get(empname);
for(String key:row.keySet()){//keySet键设置
System.out.print(key+"--"+row.get(key)+"\t");
}
System.out.println();
}
}
public static void main(String[] args) {
test01();
System.out.println("---多条信息--");
test02();
System.out.println("---Map<Map>多条信息--");
test03();
}
}
//------------------------结果------------