首页 > 其他分享 >尚硅谷MyBatis8_各种查询功能

尚硅谷MyBatis8_各种查询功能

时间:2023-03-20 20:01:18浏览次数:37  
标签:map MyBatis8 Param 查询 user 硅谷 id select

查询一个实体类对象

查询出的数据只有一条,可以通过「实体类对象」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 protected], username=张三}, 
	3={password=123456, sex=男, id=3, age=23, [email protected], username=admin}, 
	5={password=123456, sex=男, id=5, age=16, [email protected], username=hello}
}

标签:map,MyBatis8,Param,查询,user,硅谷,id,select
From: https://www.cnblogs.com/ShaunY/p/17237521.html

相关文章

  • PostgreSQL的递归查询(with recursive)
    [color=red][b]示例[/b][/color]withRECURSIVEcteas(selecta.*fromtb_sm_moduleawheremodule_id=0unionallselectk.*fromtb_sm_mod......
  • redis存储session如何查询当前请求的sessionID
    redis存储session如何查询当前请求的sessionID问题项目登录信息session使用的redis存储,在排查bug过程中需要查询缓存;发现无法知道,当前的浏览器请求获取到的缓存信息;解......
  • Medoo distinct count 统计查询写法
    Medoo写法://下面是meedo写法$data=$this->mysql->get('member_coupon_provide',['count_order'=>Medoo::raw('COUNT(DISTINCT(<orderNo>))'),],['sid......
  • 8.1.6mysql的条件子查询
    如题。一个不算复杂的东西,书上说的太绕了,不能忍。准备数据,这里有三张表(偷懒,各种编号都是整数)。t1是学生基本情况表,重要的字段是学号和姓名。t2是课程表,包括课程号和课程......
  • Oracle查询所有表怎样做,有几种方法 select * from user_tables 查询当前登录用用户
    Oracle查询所有表怎样做,有几种方法原文连接:https://www.qycn.com/xzx/article/13062.html在实际案例的操作过程中,我们可能会遇到“Oracle......
  • 尚硅谷_宋红康_第10章_多线程
    第10章_多线程讲师:尚硅谷-宋红康(江湖人称:康师傅)官网:http://www.atguigu.com本章专题与脉络我们之前学习的程序在没有跳转语句的情况下,都是由上至下沿着一条路径依......
  • 小程序云开发联表查询
    我现在有两个集合要联查一个是类别(category),一个是地点(site)一个类别下有很多个地点那如果我要查出某个类别下有哪些类别怎么办?联表查询官方文档官方给出的方法是聚合查......
  • orcle 查询出来的是空集给默认值的方法
    经常会遇到这种情景,查询语句必须要有一个返回值,但是现在的查询条件没有符合的结果。今天遇到了这个问题,解决方法:查询时用casewhen 这种方式selectcase(selectcount......
  • EmployeeController类的分页查询page方法
    @GetMapping("/page")publicR<Page>page(intpage,intpageSize,Stringname){log.info("page={},pageSize={},name={}",page,pageSize,name);//构造分页......
  • EmployeeController类的根据id查询员工信息getById方法
    @GetMapping("/{id}")publicR<Employee>getById(@PathVariableLongid){log.info("根据id查询员工信息。。。");Employeeemployee=employeeService.getById......