尚硅谷MyBatis8_各种查询功能
查询一个实体类对象
查询出的数据只有一条,可以通过「实体类对象」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=12345@qq.com, username=张三},
3={password=123456, sex=男, id=3, age=23, email=12345@qq.com, username=admin},
5={password=123456, sex=男, id=5, age=16, email=1234@qq.com, username=hello}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现