MyBatis ---- MyBatis的高级查询功能
- 1. 查询一个实体类对象
- 2. 查询一个list集合
- 3. 查询单个数据
- 4. 查询一条数据为map集合
- 5. 查询多条数据为map集合
- 方式一
- 方式二
1. 查询一个实体类对象
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>
2. 查询一个list集合
List<User> getUserList();
<!--List<User> getUserList();-->
<select id="getUserList" resultType="user">
select * from t_user;
</select>
3. 查询单个数据
int getCount();
<!--int getCount();-->
<select id="getCount" resultType="int">
select count(id) from t_user;
</select>
4. 查询一条数据为map集合
Map<String, Object> getUserToMap(@Param("id") String id);
<!--Map<String, Object> getUserToMap(@Param("id") String id);-->
<select id="getUserToMap" resultType="map">
select * from t_user where id = #{id};
</select>
5. 查询多条数据为map集合
方式一
将表中的数据以 map 集合的方式查询,一条数据对应一个 map;若有多条数据,就会产生多个 map 集合,此时可以将这些 map 放在一个 list 集合中获取
List<Map<String, Object>> getAllUserToListMap();
<!--List<Map<String, Object>> getAllUserToListMap();-->
<select id="getAllUserToListMap" resultType="map">
select * from t_user;
</select>
方式二
将表中的数据以 map 集合的方式查询,一条数据对应一个 map;若有多条数据,就会产生多个 map 集合,并且最终要以一个 map 的方式返回数据,此事需要通过 @MapKey 注解设置 map 集合的键,值是每条数据所对应的 map 集合
@MapKey("id")
Map<String, Object> getAllUserToMap();
<!--Map<String, Object> getAllUserToMap();-->
<select id="getAllUserToMap" resultType="map">
select * from t_user;
</select>