java_278_JDBC_ORM原理_使用Map封装一条记录_Map和List封装多条记录_练习

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");
	}
}

}
//----------------------------结果-----------
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200807073042494.pn

//----------------------,存储多条信息-------------------------
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封装多条信息---------
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();
	}
}
//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();
}

}
//------------------------结果------------
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值