05 动力云客之分页查询用户 + 查询用户详情 + 新增用户

2024-02-28 17:20

本文主要是介绍05 动力云客之分页查询用户 + 查询用户详情 + 新增用户,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 用户列表分页查询实现

核心

  1. 使用pageHelper实现分页
    @GetMapping(value = "api/users")//分页的参数可以不传, 不传就默认设置为1public R userPage(@RequestParam(value = "current", required = false) Integer current) {if (current == null) {current = 1;}PageInfo<TUser> pageInfo = userService.getUserByPage(current);return R.OK(pageInfo);}
    PageInfo<TUser> getUserByPage(Integer current);//用户列表分页查询实现@Overridepublic PageInfo<TUser> getUserByPage(Integer current) {//每个方法前用startPage设置一下分页参数PageHelper.startPage(current, Constants.PAGE_SIZE);List<TUser> list =  tUserMapper.selectUserByPage();//用户对象封装到list , list进一步封装到PageInfo里并返回//pageInfo可以获得一些分页参数,如总页数、总记录数、当前页数PageInfo<TUser> tUserPageInfo = new PageInfo<>(list);return tUserPageInfo;}
	  <select id="selectUserByPage" resultMap="BaseResultMap">select<include refid="Base_Column_List" />from dlyk.t_user</select>

2. 查询用户详情

核心:

  1. 将这个用户在表中的所有字段展示出来(密码除外)

  2. 相应地带来第二个问题, 如果只是简单查询一次用户表, 只能得到创建人, 编辑人的id, 这当然不合理 , 我们想要直接看到创建人的姓名. 这就需要多表一对一查询.
    在这里插入图片描述

2.1 先获得所有信息

    //查询用户详情, 路径传参@GetMapping(value = "api/user/{id}")public R userDetail(@PathVariable(value = "id") Integer id) {TUser tUser = userService.getUserById(id);return R.OK(tUser);}
    TUser getUserById(Integer id);@Overridepublic TUser getUserById(Integer id) {return tUserMapper.selectByPrimaryKey(id);}

这个方法已经自动生成好了, mapper接口和mapperxml都已经有了

    TUser selectByPrimaryKey(Integer id);

2.2 解决一对一映射

既然MB生成的mapper接口方法和mapperxml无法实现需求, 就手动写

  1. 修改UserServiceImpl中的mapper接口方法调用
		@Overridepublic TUser getUserById(Integer id) {//selectDetailById是自定义的方法return tUserMapper.selectDetailById(id);}
  1. mapper接口和mapperxml
    <select id="selectDetailById" parameterType="java.lang.Integer" resultMap="BaseResultMap"><!--@mbg.generated-->selecttu.*,tu2.id createById, tu2.name createByName,tu3.id editById, tu3.name editByName
<!--    一(user)对一(user), 只知道创建人的id, 要查创建人的姓名, 当然还是要从user表中查一-->from dlyk.t_user tu left join dlyk.t_user tu2 on tu.create_by = tu2.idleft join dlyk.t_user tu3 on tu.edit_by = tu3.idwhere id = #{id,jdbcType=INTEGER}</select>

这篇关于05 动力云客之分页查询用户 + 查询用户详情 + 新增用户的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/756119

相关文章

mybatis-plus分页无效问题解决

《mybatis-plus分页无效问题解决》本文主要介绍了mybatis-plus分页无效问题解决,原因是配置分页插件的版本问题,旧版本和新版本的MyBatis-Plus需要不同的分页配置,感兴趣的可... 昨天在做一www.chinasem.cn个新项目使用myBATis-plus分页一直失败,后来经过多方

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

mysql关联查询速度慢的问题及解决

《mysql关联查询速度慢的问题及解决》:本文主要介绍mysql关联查询速度慢的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql关联查询速度慢1. 记录原因1.1 在一次线上的服务中1.2 最终发现2. 解决方案3. 具体操作总结mysql

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

一文教你使用Python实现本地分页

《一文教你使用Python实现本地分页》这篇文章主要为大家详细介绍了Python如何实现本地分页的算法,主要针对二级数据结构,文中的示例代码简洁易懂,有需要的小伙伴可以了解下... 在项目开发的过程中,遇到分页的第一页就展示大量的数据,导致前端列表加载展示的速度慢,所以需要在本地加入分页处理,把所有数据先放

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu