1. parameterType
1. 简单数据类型
int double类型 String类型
简单的写法:java.lang.Integer --> int integer Int Integer 都可以,框架提供简写的方式。
2. POJO(JavaBean实体类)对象类型,默认是不能简写,可以配置。
User对象
2. resultType
1. 返回简单数据类型
int double long String
2. 返回POJO数据类型
返回User对象类型
3. resultMap结果类型
resultType可以指定pojo将查询结果映射为pojo,但需要pojo的属性名和sql查询的列名一致方可映射成功。
如果sql查询字段名和pojo的属性名不一致,可以通过resultMap将字段名和属性名作一个对应关系 ,
resultMap实质上还需要将查询结果映射到pojo对象中。 resultMap可以实现将查询结果映射为复杂类型的
pojo,比如在查询结果映射对象中包括pojo和list实现一对一查询和一对多查询。
dao层
/**
* resultMap
* @return
*/
public List<User> findAlResultMap();
mapping层 --- 设置resultMap
<resultMap id="ResultMap" type="com.qcby.entity.User">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="username" property="username" jdbcType="VARCHAR"/>
<result column="birthday" property="birthday" jdbcType="VARCHAR"/>
<result column="sex" property="sex" jdbcType="VARCHAR"/>
<result column="address" property="address" jdbcType="VARCHAR"/>
</resultMap>
<select id="findAlResultMap" resultMap="ResultMap">
select * from user
</select>
测试
@Test
public void findAlResultMap(){
List<User> users = mapper.findAlResultMap();
for (User user: users) {
System.out.println(user);
}
}