mybatis-plus保姆级入门教程,手把手教你轻松实现增删改查

文章讲述了如何在UserServiceImpl中使用MyBatis-Plus进行用户信息管理和查询,包括不分页获取所有用户和根据性别筛选用户的方法,并提到了如何在SpringBoot应用中设置日志打印SQL。同时,作者还分享了Java开发资源的学习链接和面试准备材料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UserServiceImpl

继承接口实现上方两方法。

由于是使用了该mybatis-plus的查询方式,顾语法有些不一样。这个后续给大家详细讲讲。

package com.example.demo.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

import com.example.demo.Entity.UserEntity;

import com.example.demo.dao.UserMapper;

import com.example.demo.service.UserService;

import org.springframework.stereotype.Service;

import java.util.List;

/**

  • 用户管理业务层

*/

@Service

public class UserServiceImpl extends ServiceImpl<UserMapper, UserEntity> implements UserService {

/**

  • 不分页查询所有用户信息

*/

@Override

public List getUsers() {

//直接可使用IService 封装好的一些方法,这个自行点进去看。

return this.list();

}

/**

  • 根据性别查询所有用户

  • @param sex 性别

*/

@Override

public List getUsersBySex(String sex) {

//条件构造器

QueryWrapper wrapper = new QueryWrapper<>();

//eq 代表“ = ”;例如 eq(“sex”, “男”) —> sex = ‘男’;等同于拼接在sql语句后边的where条件。

wrapper.eq(“sex”,sex);

//将条件带入返回

List list = this.list(wrapper);

//返回数据

return list;

}

}

UserMapper

package com.example.demo.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import com.example.demo.Entity.UserEntity;

import org.springframework.stereotype.Component;

/**

  • 用户管理持久层

*/

@Component

public interface UserMapper extends BaseMapper {

}

以上 添加就大功告成了;

最后是controller类,调用刚才我们写的那两接口进行访问,看看结果如何

分发器代码如下:

package com.example.demo.controller;

import com.example.demo.Entity.UserEntity;

import com.example.demo.service.UserService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**

  • 用户管理分发器

*/

@RestController@RequestMapping(“/user”)

public class UserController {

@Autowired

private UserService userService;

/**

  • 不分页查询所有用户信息

*/

@GetMapping(“/get-users”)

public List getUserList() {

return userService.getUsers();

}

/**

  • 根据性别查询所有用户

  • @param sex 性别

*/

@GetMapping(“/get-users-by-sex”)

public List getUsersBySex(@RequestParam(name = “sex”) String sex) {

return userService.getUsersBySex(sex);

}

}

接下来,不用我说大家也知道了吧!接口访问,一切从简,那就直接打开浏览器访问咯

奥对了在访问之前,咱们再做一件事,添加一下控制台sql打印输出,方便我们查看到底执行了什么?对吧。做法只需在application-dev.yaml 中配置如下即可。

日志设置

logging:

level:

持久层日志级别

com.example.demo.dao: debug

ok~咱们先来访问第一个接口;浏览器直接访问。

http://localhost:8080/user/get-users

ps:如果中途报错,找不到basemapper

mybatis-plus保姆级入门教程,手把手教你轻松实现增删改查

那你请在启动类 DemoApplication 中添加如下这行,表示指定扫描 dao。

@MapperScan(“com.example.demo.dao”)

mybatis-plus保姆级入门教程,手把手教你轻松实现增删改查

完事之后,接着干正事,看看能否查询到五条数据?咱们拭目以待~

很好。成功查询出了五条数据

mybatis-plus保姆级入门教程,手把手教你轻松实现增删改查

然后我们再看下控制台,看看执行了什么sql语句?请看如下:

mybatis-plus保姆级入门教程,手把手教你轻松实现增删改查

第一个查询语句,成功输出,也打印并返回五条数据值。

接下来我们来访问第二个接口,带性格参数。看看能否成功?

http://localhost:8080/user/get-users-by-sex?sex=男

结果如下:

先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以扫码领取!

img

最后

由于篇幅有限,这里就不一一罗列了,20道常见面试题(含答案)+21条MySQL性能调优经验小编已整理成Word文档或PDF文档

MySQL全家桶笔记

还有更多面试复习笔记分享如下

Java架构专题面试复习

讲解视频**

如果你觉得这些内容对你有帮助,可以扫码领取!

img

最后

由于篇幅有限,这里就不一一罗列了,20道常见面试题(含答案)+21条MySQL性能调优经验小编已整理成Word文档或PDF文档

[外链图片转存中…(img-bywibbTg-1711400884440)]

还有更多面试复习笔记分享如下

[外链图片转存中…(img-v2HND78w-1711400884440)]

需要更多Java资料的小伙伴可以帮忙点赞+关注,点击传送门,即可免费领取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值