查询一个实体类对象
查询出的数据只有一条,可以通过「实体类对象」or「集合」or「map」接收
/**
* 根据用户id查询用户信息
* @param id
* @return
*/
User getUserById(@Param("id") int id);
<!--User getUserById(@Param("id") int id);-->
<select id="getUserById" resultType="User">
select * from t_user where id = #{id}
</select>
查询多条结果
查询出的数据不止一条,可以通过「集合」or「map」接收,一定不能通过一个实体类对象接收
/**
* 查询所有用户信息
* @return
*/
List<User> getUserList();
<!--List<User> getUserList();-->
<select id="getUserList" resultType="User">
select * from t_user
</select>
返回值是基本数据类型
也是需要指定接收的类型,但是 resultType 里面写啥不重要,因为 Mybatis 底层已经定义好了默认的类型别名,咱们写在 resultType 里的都是别名,无所谓的。
Integer getCount();
<select id="getCount" resultType="java.lang.Integer">
select count(*) from t_user
</select>
查询结果返回 map 集合
查询一条信息
Map<String,Object> getUserByIdToMap(@Param("id") Integer id);
<!--Map<String,Object> getUserByIdToMap(@Param("id") Integer id);-->
<select id="getUserByIdToMap" resultType="map">
select *
from t_user
where id = #{id}
</select>
查询多条信息
- 方式一:list存储多条map
List<Map<String, Object>> getAllUserToMap();
<select id="getAllUserToMap" resultType="map">
select *
from t_user;
</select>
- 方式二
指定@MapKey("id"),这样就会以指定的字段作为key,value则是每一条记录的map集合
@MapKey("id") //采取唯一的字段作为key,值是每条数据对应的map,也就是String-Map
Map<String, Object> getAllUserToMap();
{
2={password=123456, sex=男, id=2, age=23, [email protected], username=张三},
3={password=123456, sex=男, id=3, age=23, [email protected], username=admin},
5={password=123456, sex=男, id=5, age=16, [email protected], username=hello}
}
标签:map,MyBatis8,Param,查询,user,硅谷,id,select
From: https://www.cnblogs.com/ShaunY/p/17237521.html