欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 前端技术 > javascript >内容正文

javascript

spring boot整合mybatis-凯发k8官方网

发布时间:2025/1/21 javascript 19 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 spring boot整合mybatis-plus 增删改查 分页基本使用完整示例 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

写在前面

mybatis的增强方案确实有不少,甚至有种感觉是现在如果只用 “裸mybatis”,不来点增强插件都不好意思了。这不,在上一篇文章《spring boot项目利用mybatis generator进行数据层代码自动生成》 中尝试了一下 mybatis generator。这次来点更加先进的 mybatis-plus,sql语句都不用写了,分页也是自动完成,嗯,真香!


数据库准备

create table tbl_user (user_id bigint(20) not null comment '主键id',user_name varchar(30) null default null comment '姓名',user_age int(11) null default null comment '年龄',primary key (user_id) ) charset = utf8;

mybatis-plus加持

  • 工程搭建 (不赘述了)
  • 依赖引入
<dependency><groupid>com.baomidougroupid><artifactid>mybatis-plus-boot-starterartifactid><version>3.1.0version> dependency><dependency><groupid>org.projectlombokgroupid><artifactid>lombokartifactid> dependency><dependency><groupid>com.alibabagroupid><artifactid>druid-spring-boot-starterartifactid><version>1.1.9version> dependency><dependency><groupid>mysqlgroupid><artifactid>mysql-connector-javaartifactid><scope>runtimescope><version>8.0.12version> dependency>

主要是 mybatis plus、lombok(不知道lombok干嘛的?可以看这里)、druid连接池 等依赖。

  • mybatis plus配置

项目配置

mybatis-plus:mapper-locations: classpath:/mapper/*mapper.xml

新增 mybatis plus配置类

@configuration @mapperscan("cn.codesheep.springbtmybatisplus.mapper") public class mybatisconfig { }

看到没,几乎零配置啊,下面就可以写业务逻辑了


业务编写

  • 实体类
@data @tablename("tbl_user") public class user {@tableid(value = "user_id")private long userid;private string username;private integer userage; }
  • mapper类
public interface usermapper extends basemapper<user> { }

这里啥接口方法也不用写,就可以实现增删改查了!

  • service类

service接口:

public interface userservice extends iservice<user> {int insertuser( user user );int updateuser( user user );int deleteuser( user user );user finduserbyname( string username );ipage getuserpage( page page, user user ); }

service实现:

@service @allargsconstructor public class userserviceimpl extends serviceimpl<usermapper, user> implements userservice {// 增@overridepublic int insertuser(user user) {return basemapper.insert( user );}// 改@overridepublic int updateuser(user user) {return basemapper.updatebyid( user );}// 删@overridepublic int deleteuser(user user) {return basemapper.deletebyid( user.getuserid() );}// 查@overridepublic user finduserbyname( string username ) {return basemapper.getuserbyname( username );} }
  • controller类
@restcontroller @requestmapping("/user") public class usercontorller {@autowiredprivate userservice userservice;// 增@postmapping( value = "/insert")public object insert( @requestbody user user ) {return userservice.insertuser( user );}// 改@postmapping( value = "/update")public object update( @requestbody user user ) {return userservice.updateuser( user );}// 删@postmapping( value = "/delete")public object delete( @requestbody user user ) {return userservice.deleteuser( user );}// 查@getmapping( value = "/getuserbyname")public object getuserbyname( @requestparam string username ) {return userservice.finduserbyname( username );} }

通过以上几个简单的步骤,我们就实现了 tbl_user表的增删改查,传统 mybatis的 xml文件一个都不需要写!


实际实验【《乡爱》加持】

  • 启动项目

很牛批的 logo就会出现

mybatis plus logo

接下来通过 postman来发送增删改查的请求

  • 插入记录

通过 postman随便插入几条记录 post localhost:8089/user/insert

{"userid":3,"username":"刘能","userage":"58"} {"userid":4,"username":"赵四","userage":"58"} {"userid":5,"username":"谢广坤","userage":"58"} {"userid":6,"username":"刘大脑袋","userage":"58"}

发送插入请求

插入结果

  • 修改记录

修改记录时需要带用户id,比如我们修改 赵四 那条记录的名字为 赵四(zhao four)

发送修改请求

修改结果

  • 删除记录

修改记录时同样需要带用户id,比如删除id=6 那条 刘大脑袋的记录

image.png

  • 查询记录(普通查询,下文讲分页查询)

比如,按照名字来查询:get localhost:8089/user/getuserbyname?username=刘能


最关心的分页问题

  • 首先装配分页插件
@bean public paginationinterceptor paginationinterceptor() {return new paginationinterceptor(); }
  • mapper类
public interface usermapper extends basemapper<user> {// 普通查询user getuserbyname( string username );// 分页查询ipage<list<user>> getuserspage( page page, @param("query") user user ); }
  • service类
@service @allargsconstructor public class userserviceimpl extends serviceimpl<usermapper, user> implements userservice {// 查:普通查@overridepublic user finduserbyname( string username ) {return basemapper.getuserbyname( username );}// 分页查@overridepublic ipage getuserpage(page page, user user) {return basemapper.getuserspage( page, user );} }
  • controller类
@getmapping( value = "/page") public object getuserpage( page page, user user ) {return userservice.getuserpage( page, user ); }

实际实验一下,我们分页查询 年龄 = 58 的多条记录:

分页查询结果

可以看到结果数据中,除了给到当前页数据,还把总记录条数,总页数等一并返回了,很是优雅呢 !


写在最后

由于能力有限,若有错误或者不当之处,还请大家批评指正,一起学习交流!

本文转载自https://www.codesheep.cn/2019/04/12/springbt-mybatis-plus/
如有侵权,请联系作者删除

与50位技术专家面对面20年技术见证,附赠技术全景图

总结

以上是凯发k8官方网为你收集整理的spring boot整合mybatis-plus 增删改查 分页基本使用完整示例的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图