文章目录
前言
学习使用MyBatis,记录几种查询数据返回方式。
一、查询一个参数信息(查询某个学生ID)
数据库SQL:
SELECT id FROM student_table;
mapper后端处理:
String getId();
获取查询到的数据:
mapper名为StudentMapper,直接调用方法获取数据
String id = studentMapper.getId();
二、查询一条数据信息且参数较少(查询学生的姓名、学号)
1.使用 Map*<>
数据库SQL:
记得要将resultType="java.util.Map"
加上,或在resultMap中写出对应映射
SELECT name,number FROM student_table LIMIT 1;
mapper后端处理:
Map<String,Object> getStuInfo();
获取查询到的数据:
Map<String,Object> map= studentMapper.getStuInfo();
String name = map.get("name").toString();
String number = map.get("number").toString();
2.使用 List<*>自定义类
数据库SQL:
SELECT name,number FROM student_table LIMIT 1;
mapper后端处理:
List<Student> getStuInfo();
获取查询到的数据:
List<Student> stuInfo = studentMapper.getStuInfo();
String name = stuInfo.get(0).get("name");
String number= stuInfo.get(0).get("number");
定义实体类Student:
@Data
public class Student {
private String name;
private String number;
...}
三、查询多条数据n个参数(查询多个学生信息)
1.使用 List<*Map<>>
数据库SQL:
SELECT name,number,sex,phone FROM student_table;
mapper后端处理:
List<Map<String,Object>> getStuInfo();
获取查询到的数据:
Map<String, List<Map<String, String>>> map = new HashMap<>();
List<Map<String,Object>> listMap = studentMapper.getStuInfo();
map.put("data",listMap);
2.使用 List<*>自定义类
数据库SQL:
SELECT name,number,sex,phone FROM student_table;
mapper后端处理:
List<Student> getStuInfo();
获取查询到的数据:
List<Student> stuInfo = studentMapper.getStuInfo();
定义实体类Student:
@Data
public class Student {
private String name;
private String number;
private String sex;
private String phone;
...}
总结
根据不同条件,获取数据。