1.创建实体对象
public class User {
private String name;
private String pass;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
/**
* 转换
* @param data
*/
public User(Map<String, Object> data) {
this.name = data.get("name").toString();
this.pass = data.get("pass").toString();
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", pass='" + pass + '\'' +
'}';
}
}
2.测试
public class Test {
public static void main(String[] args) {
List<Map<String, Object>> lists = getStringObjectMap();
List<User> users = zhuanhuan(lists);
out(users);
}
/**
* 打印
* @param users
*/
private static void out(List<User> users) {
for (User user : users) {
System.out.println(user);
}
}
/**
* 构造一个map集合
* @return
*/
private static List<Map<String, Object>> getStringObjectMap() {
List<Map<String,Object>> lists = new ArrayList<>();
Map<String,Object> map1 = new HashMap<>();
map1.put("name","zhengke1");
map1.put("pass","123456");
Map<String,Object> map2 = new HashMap<>();
map2.put("name","zhengke2");
map2.put("pass","123456");
lists.add(map1);
lists.add(map2);
return lists;
}
/**
* map集合转换为object集合
* @param lists
* @return
*/
private static List<User> zhuanhuan(List<Map<String, Object>> lists) {
List<User> users = new ArrayList<>();
for (Map<String, Object> list : lists) {
User user = new User(list);
users.add(user);
}
return users;
}
}
总结:mybatis中查询操作通常是返回一个实体对象集合。但在一些特殊情况下,返回一个map集合对象。在业务层需要将map集合对象转化为实体对象集合,上面的例子简单的举例说明了转换思想。