自学内容网 自学内容网

Mybatis(三) 查询不同数据封装的方式

实体类:

数据库:

1、查询一个实体类对象

/** * 根据用户id查询用户信息* @param id * @return */
 User getUserById(@Param("id") int id);
 
  <select id="getUserById" resultType="User">
      select * from t_user where id = #{id}
  </select>

2、查询一个list集合

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

<select id="getUserList" result="User">
    select * from t_user
</select>

3、查询单个数据

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

<select id="getCount" resultType="_integer">
    select count(id) from t_user
 </select>

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

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

<select id="getUserToMap" resultType="map">
    select * from t_user where id = #{id}
 </select>

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

方式一:每条数据用map接收,将map封装到一个list中
//将表中的数据以map集合的方式查询,一条数据对应一个map;
//若有多条数据,就会产生多个map集合
//此时就可以将这些map放在一个list集合中
List<Map<String,Object>>getAllUserToMap();

<select id="getAllUserToMap" resultType="map">
    select * from t_user
</select>
方式二:每条数据用map接收,将所有的map封装到一个map中去

添加@MapKey注解,此时就可以将每条数据转换的map几个作为值,以某个字段的值作为键(该键不能和其他条数据的字段重复),放在同一个map集合中


@MapKey("id")
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=张三} 
 }
方式三:每条数据用实体类接收,将实体类封装到list中
List<User> getAlluserTolei();

<select id="getAlluserTolei" resultType="User">
    select * from t_user
</select>


原文地址:https://blog.csdn.net/m0_73864806/article/details/140702274

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!