MyBatis04-select功能

本文详细介绍了MyBatis中如何使用实体类对象、List集合和Map集合进行数据查询。包括查询单个实体类对象、多个实体类对象以及数据总数的方法,并展示了对应的MyBatis映射配置。同时,讨论了如何将查询结果转换为Map,以字段名作为key,字段值作为value,以及如何通过@MapKey注解实现以特定字段为键的Map转换。
摘要由CSDN通过智能技术生成

数据表:
在这里插入图片描述

实体类:

public class User {
    private Integer id;
    private String username;
    private String password;
    private Integer age;
    private String sex;
    private String email;
    //构造方法,get/set,toString()
    }

1:查询一个实体类对象

  • a>实体类对象接收
  • b>List集合接收
  • c>Map集合接收,字段名为key,字段值为value

接口中的方法:

//查询单个数据以实体类对象接收
User getUserById(@Param("id") Integer id);
//查询单个数据以List集合接收
List<User> getUserByIdToList(@Param("id") Integer id);
//查询单个数据以Map集合接收  字段为key,字段值为value
Map<String,Object> getUserByIdToMap(@Param("id") Integer id);

对应的映射:

查询单个数据以实体类对象接收
<select id="getUserById" resultType="User">
        select * from t_user where id=#{id}
    </select>
查询单个数据以List集合接收
 <select id="getUserByIdToList" resultType="User">
        select * from t_user where id=#{id}
    </select>
查询单个数据以Map集合接收  字段为key,字段值为value
 <select id="getUserByIdToMap" resultType="map">
        select * from t_user where id=#{id}
    </select>

2:查询多个实体类对象

  • a>List集合接收
  • b>通过Map类型的List集合接收
  • c>在方法上添加@MapKey注解 将每条数据转化为map的value,以字段的值为key

接口中的方法:

//查询多条数据以List集合接收
List<User> getAllUserToList();

//查询所有信息为map 将map放入list接收
List<Map<String,Object>> getAllUserToListMap();

//查询所有信息以Map(唯一标识字段作为键,整个User对象作为值)接收
@MapKey("id")
Map<String,Object> getAllToMap();

对应的映射:

查询多条数据以List集合接收
   <select id="getAllUserToList" resultType="user">
        select * from t_user
    </select>
   
查询所有信息为map 将map放入list接收
<select id="getAllUserTListoMap" resultType="map">
        select * from t_user
    </select>

查询所有信息以Map(唯一标识字段作为键,整个User对象作为值)接收
<select id="getAllToMap" resultType="map">
        select * from t_user;
    </select>

3:查询单个数据

接口中的方法:

//查询总数
int getCount();

对应的映射:

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

MyBatis规定的数据类型的resultType别名:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值