MyBatis的各种查询功能

1、查询一个实体类对象

mapper.java文件代码

/**
  * 根据用户id查询用户信息
  * @param id * @return 
*/ 
User getUserById(@Param("id") int id);

mapper.xml文件代码

<!--User getUserById(@Param("id") int id);--> 
<select id="getUserById" resultType="User"> 
		select * from t_user where id = #{id} 
</select>

2、查询一个list集合

mapper.java代码

/**
  * 查询所有用户信息 
  * @return 
*/
 List<User> getUserList();

mapper.xml代码

<!--List<User> getUserList();-->
<select id="getUserList" resultType="User">
	 select * from t_user 
</select>

3、查询单个数据

mapper.java代码

/**
  * 查询用户的总记录数 
  * @return 
  * 在MyBatis中,对于Java中常用的类型都设置了类型别名 
  * 例如:java.lang.Integer-->int|integer 
  * 例如:int-->_int|_integer 
  * 例如:Map-->map,List-->list 
*/ 
int getCount();

mapper.xml代码

<!--int getCount();-->
<select id="getCount" resultType="_integer">
  	select count(id) from t_user 
</select>

4、查询一条数据为map集合

mapper.java代码

/**
  * 根据用户id查询用户信息为map集合 
  * @param id 
  * @return 
*/ 
Map<String, Object> getUserToMap(@Param("id") int id);

mapper.xml代码

<!--Map<String, Object> getUserToMap(@Param("id") int id);-->
<select id="getUserToMap" resultType="map">
 	select * from t_user where id = #{id} 
 </select> 
 <!--
 	结果:{password=123456, sex=男, id=1, age=23, username=admin}
 -->

5、查询多条数据为map集合

方式一

mapper.java代码

/**
  * 查询所有用户信息为map集合 
  * @return 
  * 将表中的数据以map集合的方式查询,一条数据对应一个map;若有多条数据,
  	就会产生多个map集合,此 时可以将这些map放在一个list集合中获取 
*/
List<Map<String, Object>> getAllUserToMap();

mapper.xml代码

<!--Map<String, Object> getAllUserToMap();-->
<select id="getAllUserToMap" resultType="map">
 	select * from t_user 
</select>

方式二:

mapper.java代码

/**
  * 查询所有用户信息为map集合 
  * @return 
  * 将表中的数据以map集合的方式查询,一条数据对应一个map;若有多条数据,就会产生多个map集合,
  	并且最终要以一个map的方式返回数据,此时需要通过@MapKey注解设置map集合的键,值是每条数据所对应的 map集合 
*/ 
@MapKey("id") 
Map<String, Object> getAllUserToMap();

mapper.xml代码

<!--Map<String, Object> getAllUserToMap();-->
<select id="getAllUserToMap" resultType="map">
	select * from t_user 
</select> 
结果: 
<!-- 
{ 
	1={password=123456, sex=男, id=1, age=23, username=admin}, 
	2={password=123456, sex=男, id=2, age=23, username=张三}, 
	3={password=123456, sex=男, id=3, age=23, username=张三} 
}
-->

版权声明:本文为m0_52334927原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。