- 1、ResultType
- 简单类型
- 对象类型
- 2、ResultMap
MyBatis执行sql语句,得到ResultSet转换对象,使用全类型限定名或别名
ResultSet结果类型,指sql语句执行完毕后,数据转为Java,其类型是任意的。
处理办法
- Mybatis执行sql语句,然后Mybatis调用类的无参构造方法,创建对象.
- Mybatis把ResultSet指定列值付给同名的属性
接口
int countStudent();
Mapper文件
select count(*) from student
测试方法
@Test
public void testRetunInt(){
int count = studentDao.countStudent();
System.out.println("学生总人数:"+ count);
}
对象类型
接口
Student selectById(int id);
实体类对象
private String name; private String age; // set get toString() 等方法
Mapper文件
框架的处理方式:
使用构造方法创建对象,条用 setXXX()给属性赋值,相当于Student student = new Student();,Student 中变量的名字需要和数据库表中的字段名一致。
| Sql字段名 | Java对象方法 |
|---|---|
| id | setId() |
| name | setName() |
| setName() | |
| age | setAge() |
Dao接口方法方法返回时集合类型,需要指定集合中的类型,不是集合本身
2、ResultMap
resultMap 可以定义sql的结果和java对象属性的映射关系。更灵活的把列值赋值给指定属性,常用在列明和Java对象属性名不一样的情况
- 先定义 resultMap 指定列明和属性名的对应关系
- 将 resultType 替换为 resultMap
接口
ListselectUseResultMap(QueryParam param);
mapper文件



