resultType:MyBatis中resultType是用来指定查询结果类型的属性
一.返回一般数据类型
对于引用类型一般采用大写字母转小写的方式。基本类型一般在前面加"_",下面给了两个例子
string
mapper接口:
String getPasswordByName(@Param("name") String name);
xml:
<select id="getPasswordByName" resultType="string">
select password from user where name = #{name}
</select>
int
mapper接口:
int getIdByName(@Param("name") String name);
xml:
<select id="getIdByName" resultType="_int">
select id from user where name = #{name}
</select>
二.返回JavaBean 类型
比如要返回一个user:
mapper接口:
User getUserByName(@Param("name") String name);
xml:
<select id="getUserByName" resultType="user">
select * from user where name = #{name}
</select>
三.返回List
一般在mapper接口中返回List,在xml中resultType写上T就可以。
mapper接口:
List<User> list();
xml:
<select id="list" resultType="user">
select * from user
</select>
四.返回Map类型
1.如果是将某个字段作为key,对象作为value
@MapKey("id")
Map<Integer,User> getUser();
xml:
<select id="getUserById" resultType="User">
select * from user
</select>
结果:
{1=User(id=1, babayId=1, name=kail)}
2.如果只有一条记录可以将字段名作为key,值作为value
Map<Integer,Object> getUserById(@Param("name") int id);
xml:
<select id="getUserById" resultType="map">
select * from user where id={id}
</select>
结果:
{id=1, babayId=1, name=kail}