返回顶部
首页 > 资讯 > 精选 >Mybatis-plus如何应用在项目中
  • 643
分享到

Mybatis-plus如何应用在项目中

2023-06-20 13:06:54 643人浏览 安东尼
摘要

这篇文章主要为大家展示了“mybatis-plus如何应用在项目中”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mybatis-plus如何应用在项目中”这篇文章吧。Mybatis-plus是s

这篇文章主要为大家展示了“mybatis-plus如何应用在项目中”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mybatis-plus如何应用在项目中”这篇文章吧。

Mybatis-plus是spring框架中OOM的一大利器,其简单易用参考官网文档即可很快上手。mp.baomidou.com/guide/

p6spy 执行 sql 分析打印,只需加入依赖,加入配置文件即可有完美的sql打印。有性能损耗线上不能使用

分页插件

只需注入插件即可,实在太方便了有没有。

// 最新版    @Bean    public MybatisPlusInterceptor mybatisPlusInterceptor() {        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));        return interceptor;    }

逻辑删除

全局配置之后,再也不用管逻辑删除字段了。xml中自定义sql需要自己处理逻辑字段

mybatis-plus:  global-config:    db-config:      logic-delete-field: flag  # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)      logic-delete-value: 1 # 逻辑已删除值(默认为 1)      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
@TableLogicprivate Integer deleted;

自动填充

妈妈再也不用管create_time,update_time了。默认注入字段值为null时才会注入,即手动设置值后不再注入。特别注意beanUtil.copy时的值问题。
可以从header、shiro、Security 中获取当前用户信息,更新createUser,updateUser

@Slf4j@Componentpublic class MyMetaObjectHandler implements MetaObjectHandler {    @Override    public void insertFill(MetaObject metaObject) {        log.info("start insert fill ....");        this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐使用)      String user = "anonymous";      // 从header shiro security中获取user信息        this.strictInsertFill(metaObject, "createUser", String.class, user);     }    @Override    public void updateFill(MetaObject metaObject) {        log.info("start update fill ....");        this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐)      String user = "anonymous";      // 从header shiro security中获取user信息      this.strictUpdateFill(metaObject, "updateUser", String.class, user);        // 或者        this.strictUpdateFill(metaObject, "updateTime", () -> LocalDateTime.now(), LocalDateTime.class); // 起始版本 3.3.3(推荐)        // 或者        this.fillStrategy(metaObject, "updateTime", LocalDateTime.now()); // 也可以使用(3.3.0 该方法有bug)    }}

乐观

直接应用比较少,针对特别情景,部分接口会做version处理。

@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();    interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());    return interceptor;}@Versionprivate Integer version;

多数据源

有时会用,通过注解去切换数据源。参考文章:https://www.yisu.com/article/199726.htm

通用枚举

通过@EnumValue标记值,将数据库中的枚举值转换没枚举类型,可以少做一步转换。参考文章:Https://www.yisu.com/article/194192.htm

id生成及主键

分布式服务基本基于业务去切分数据库,一个微服务基本对应一个库,对大部分应用不需要做分表的情景,bigint自增id够用。

查询 LambdaQueryWrapper

List<User> list = userService.list(Wrappers.<User>lambdaQuery().eq(User::getUserName,"123"))List<User> list = userService.lambdaQuery().eq(User::getUserName,"123").list();

逻辑唯一时查询一个值,false 当有多个值是不会抛出异常。

LambdaQueryWrapper queryWrapper = Wrappers.<User>lambdaQuery().eq(User::getUserName,"123");User user = userService.getOne(queryWrapper,false);

以上是“Mybatis-plus如何应用在项目中”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Mybatis-plus如何应用在项目中

本文链接: https://lsjlt.com/news/296783.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Mybatis-plus如何应用在项目中
    这篇文章主要为大家展示了“Mybatis-plus如何应用在项目中”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mybatis-plus如何应用在项目中”这篇文章吧。Mybatis-plus是S...
    99+
    2023-06-20
  • Mybatis-plus在项目中的简单应用
    目录分页插件逻辑删除自动填充乐观锁多数据源通用枚举id生成及主键查询 LambdaQueryWrapper本文是一篇随笔,记录项目中应用的一些情景。 Mybatis-plus是Sp...
    99+
    2024-04-02
  • 如何在vue项目中使用UEditor--plus
    目录1:UEditor-plus富文本编辑器如何在vue项目中使用2.使用方法3.运行项目1:UEditor-plus富文本编辑器如何在vue项目中使用 备注:UEditor是由百度...
    99+
    2024-04-02
  • 在已经使用mybatis的项目里引入mybatis-plus结果不能共存如何解决
    本篇内容介绍了“在已经使用mybatis的项目里引入mybatis-plus结果不能共存如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2023-07-05
  • 如何在Vue项目中应用TypeScript类
    目录一、前言二、使用1.@Component2.compued、data、methods3.@props4.@watch5.@emit三 、总结 一、前言 TypeScript是基于...
    99+
    2024-04-02
  • 如何在java项目中应用SSM框架
    本篇文章给大家分享的是有关如何在java项目中应用SSM框架,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。配置环境变量配置完后,使用命令行输入mvn -version查看是否配...
    99+
    2023-05-30
    java ssh框架
  • 如何在MyBatis动态SQL项目中使用trim标签
    这期内容当中小编将会给大家带来有关如何在MyBatis动态SQL项目中使用trim标签,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体方法如下:select * from user   <...
    99+
    2023-05-31
    mybatis sql trim
  • MyBatis-Plus中ActiveRecord(AR)如何使用
    这期内容当中小编将会给大家带来有关MyBatis-Plus中ActiveRecord(AR)如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.什么是ActiveRecord(AR)?Ac...
    99+
    2023-06-20
  • 在Spring Boot项目中如何实现使用 Mybatis中的@ Annotation注解
    在Spring Boot项目中如何实现使用 Mybatis中的@ Annotation注解?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、运行 springboot-myba...
    99+
    2023-05-31
    springboot mybatis @ annotation
  • mybatis plus如何实现在Spring boot上使用
    mybatis plus如何实现在Spring boot上使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。maven依赖 <dependency> ...
    99+
    2023-05-31
    springboot mybatis
  • spark应用程序如何在Java项目中运行
    这篇文章将为大家详细讲解有关spark应用程序如何在Java项目中运行,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。如下所示:package org.shirdrn.spark.job;im...
    99+
    2023-05-31
    java spark ava
  • SpringBoot+Mybatis项目中如何使用Redis做Mybatis的二级缓存
    这篇文章给大家分享的是有关SpringBoot+Mybatis项目中如何使用Redis做Mybatis的二级缓存的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。介绍使用mybatis时可以使用二级缓存提高查询速度,...
    99+
    2023-05-30
    springboot redis mybatis
  • 在mybatis项目中使用oracle如何实现一个分页效果
    在mybatis项目中使用oracle如何实现一个分页效果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先当我们需要通过xml格式处理sql语句时,经常会用到< ,&l...
    99+
    2023-05-31
    mybatis oracle 分页
  • SpringBoot项目使用mybatis-plus代码生成的实例详解
    目录前言安装依赖application.yml添加配置代码生成实例代码生成依赖数据源配置globalConfig处理通用配置packageConfig包名设置strategyConf...
    99+
    2022-11-13
    SpringBoot使用mybatis-plus代码生成 SpringBoot mybatis-plus代码生成 SpringBoot mybatis-plus
  • 如何在 ASP 项目中高效地应用 JavaScript 技术?
    ASP.NET 是一个非常流行的 Web 应用程序框架,它使用了 Microsoft 的 .NET 技术,能够让开发人员快速、高效地开发 Web 应用程序。在 ASP.NET 项目中,JavaScript 技术被广泛应用,它可以为 Web ...
    99+
    2023-07-20
    关键字 javascript 开发技术
  • 详解如何在项目中应用SpringSecurity权限控制
    目录1、Spring Security环境准备2、实现认证和授权3、在控制器上实现注解鉴权4、请求获取当前登录的用户名信息5、用户退出要进行认证和授权需要前面课程中提到的权限模型涉及...
    99+
    2024-04-02
  • 如何在Spring Boot中利用Mybatis Plus 自动填充字段
    这篇文章将为大家详细讲解有关如何在Spring Boot中利用Mybatis Plus 自动填充字段,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。加入依赖下面就通过 MyBatis Plus...
    99+
    2023-06-09
  • 如何在uniapp项目中使用mqtt
    目录一、uniapp插件市场的参考插件二、具体引入过程1.安装mqtt和uuid2.页面引入mqtt并调用3.运行结果由于要取一些实时数据并在手机app上展示,就想到用mqtt进行即...
    99+
    2024-04-02
  • 如何在React项目中使用AntDesign
    目录0.前言1.AntDesign是什么?2.AntDesign如何使用?3.如何具体使用AntDdesign的组件3-1.如何使用 antd 的Table组件3-2.如何使用 an...
    99+
    2024-04-02
  • 如何在Java项目中使用Lombok
    本文章向大家介绍如何在Java项目中使用Lombok的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作