mysqlUtil中List< Map
代码
public static List< Map<String,String> > show(String sql, String[] params){
// String sql ="select * from employee";
List< Map<String,String> > listmap = new ArrayList<>();//声明了一个数组列表
DBConnection db = new DBConnection();//建立与数据库的链接
ResultSet rs = null;//ResultSet:结果集的意思,
try {
//定义了stmt这个变量去抓取数据库中的值,返回并由一个结果集rs接收
Statement stmt = (Statement) db.conn.createStatement();
rs = (ResultSet) stmt.executeQuery(sql);
while(rs.next()){
Map<String,String> map = new HashMap<String,String>();
for(int i = 0; i < params.length; i++) {
map.put(params[i], rs.getString(params[i]));
}
listmap.add(map);
}
rs.close();
db.close();
} catch (SQLException e) {
e.printStackTrace();
}
return listmap;
}
解释
- ResultSet:
结果集,是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等。 - String[] params:
定义了一个数组,params为数组名 - map.put(params[i], rs.getString(params[i]));
put为map的一个方法,意思是添加给map一个值。
params[i]是之前定义的数组,其中的值。
rs.getString(params[i]))的意思是取得在rs所在的行params[i]列的值。rs是数据行
map.put即添加一个map型的数据,key值为params[i],value为 rs.getString(params[i]) - listmap.add(map);
给listmap中添加这个map - 返回的list结果可以理解为这种形式
{
{"key":"value"},
{"key2":"value2"}
}