本站提倡有节制游戏,合理安排游戏时间,注意劳逸结合。

【资讯社群源码】【glide源码缓存】【soring源码解读】mybatis-plus源码大全

2024-11-25 00:04:14 来源:探索 分类:探索

1.MyBatis-Plus代码生成器(3.5.1版本)
2.MyBatis-Plus可视化代码生成器mybatis-plus-generator-ui
3.MyBatis-Plus实现逻辑删除[MyBatis-Plus系列] - 492篇
4.最全Mybatis-Plus详解,一篇就够了!
5.一起来学Mybatis Plus(二) & 内置注解
6.实战系列(二)| MybatisPlus详细介绍,包含代码详解

mybatis-plus源码大全

MyBatis-Plus代码生成器(3.5.1版本)

       MyBatis-Plus(简称 MP)是Mybatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、资讯社群源码提高效率而生。

       特性:pom配置,依赖准备好后,创建Java类,在main()方法中:配置连接mysql数据库信息+调用自动生成API并设置各类参数,根据自定义策略,执行自动生成代码操作。这里新建一个MpGenerator.java,提供主方法main()。

       templateConfig我禁用了MP提供的模板,设置成了自己定义的。先看下MP自带的模板。

       包路径,一共支持三种引擎,Velocity对应vm后缀;Beetl对应btl后缀;Freemarker对应ftl后缀

       MP自带的模板service,controller等太简单,只是一个文件并没有提供增删改查功能,可以自己配置一个模板替换到自带的。就需要在templateConfig中配置一下。(自带的模板就不贴代码了,有兴趣的自己看一下)

       拿controller举例,贴一下我自己配置的。

       其实就是把增删改查的外壳设置好,把参数配置成动态的。$ 里面这些参数是哪里来的呢?接下来分析一下

       由于我用的是Velocity,看一下它的引擎源码

       一共4个方法,看名字大概分析一下,大概率是glide源码缓存writer这个方法是主要功能,接下来断点看一下。

       模板中配置的动态参数,都是从objectMap取的。

       table数据格式,可以看到生成的entity,mapper,service,controller名称,fields取的数据库中字段信息。

       是否为主键,字段类型,名称等等。可以根据这些参数来配置我们需要的模板样式。

       如果objectMap中的参数不满足我们的要求,可以自己写一个引擎继承VelocityTemplateEngine重写他的writer方法。

       我把主键的信息单独取出来了,避免每次循环调用。

       自定义配置模板文件,根据MP提供的功能,可以生成entity,mapper,mapperXML,service,serviceImpl,controller。我们可能还需要用到BO,VO等,这时候就需要自定义配置模板了。

       模板的定义跟上面说的一样。

       简单记录一下自己使用过程的学习,大家有啥想法互相学习。

       各个参数详细说明: mybatis-plus代码生成器及配置 - BlogMemory - 博客园

MyBatis-Plus可视化代码生成器mybatis-plus-generator-ui

       介绍MyBatis-Plus可视化代码生成器mybatis-plus-generator-ui,提供交互式的soring源码解读Web UI生成mybatis-plus框架所需功能代码,包含实体类Entity、映射文件Mapper、Mapper.xml、Service接口与Controller控制器。

       支持自定义模板及各种输出参数,甚至直接通过SQL查询语句生成代码。

       项目源自飞空之羽的仓库mybatis-plus-generator-ui,详情请查阅文档。实现步骤简便,具体包括:一、引入所需的依赖。二、建立项目入口,并使用main函数启动。三、执行main方法后,访问localhost:/。在此页面上勾选所需功能进行代码生成。

       整个生成过程直观高效,最终生成代码与mybatis-plus框架无缝集成,提高开发效率。

MyBatis-Plus实现逻辑删除[MyBatis-Plus系列] - 篇

       历史文章(文章累计+)《 国内最全的SpringBoot系列之一》《 国内最全的SpringBoot系列之二》《 国内最全的SpringBoot系列之三》《 国内最全的SpringBoot系列之四》《 国内最全的SpringBoot系列之五》

       《 国内最全的Spring Boot系列之六》

       MyBatis-Plus通用Service快速实现赠三改查[MyBatis-Plus系列] - 第篇

       SpringBoot集成MyBatis-Plus + MyBatis-Plus代码生成器[MP系列] - 第篇 MyBatis-Plus主键生成策略[MyBatis-Plus系列] - 第篇

       悟纤:师傅,你说有些时候,莫名其妙就会emo了,你说这是怎么一回事?

       师傅:那是心里有什么事情想不明白了。

       悟纤:那为什么问TA有什么事情没有?TA说没有。

       师傅:有些时候,有些场景,有些话,在这个时候不适合说而已。

       师傅:没有无缘无故emo的,也没有无缘无故的happy,所有的绑查询源码一切一切都是心里藏着事情,此时此刻无法想明白。

       悟纤:那师傅要是自己好长时间想不明白,持续emo怎么办?

       师傅:首先,需要认识自己的情绪。emo情绪包括忧愁、孤独、不安、沮丧等,当你感到这些情绪时,应该及时意识到并分析原因。可能是因为生活中的问题、工作上的压力、人际关系等问题导致的。了解自己的情绪,对于调整自己的心态非常重要。

       师傅:寻找支持和安慰,当你感到心情低落时,不要独自承受,可以寻找支持和安慰。可以找家人、朋友或者专业心理咨询师聊天,倾诉自己的心声,分享自己的情绪。他们可以帮助你排解负面情绪,找到解决问题的方法。

       师傅:寻找适合自己的发泄方式,当你感到愤怒、失落时,可以寻找适合自己的发泄方式。可以去健身房、跑步、听音乐、画画等方式释放负面情绪。棋牌源码开找到适合自己的发泄方式,可以缓解自己的压力和情绪。

       师傅:所有的事情都是心里过不了自己心里这一关。很多时候,让人感到痛苦的,并不是事情本身,而是你对这个事情的执念。

       悟纤:师傅,我要努力让自己开开心心的~,心情不好也不学会自己排解自己的情绪。

       师傅:徒儿,加油~学习专业能力的同时,也需要提高自己的综合素质能力。

       悟纤:徒儿明白了,我要开开心心的过好每天,强大自己~

       导读

       Hi,大家好,我是悟纤。过着爱谁谁的生活,活出不设限的人生。

       在实际的项目中,在删除数据的时候,我们并不想真正的把数据删除掉,而是修改一个状态中,不查询出来而已,这个就是逻辑删除。

       在MP中要实现逻辑删除,非常easy,只需要简单的配置即可。接下来就带大家实践一下。

       一、逻辑删除和物理删除

       物理删除:指文件存储所用到的磁存储区域被真正的擦除或清零,这样删除的文件是不可以恢复的,物理删除是计算机处理数据时的一个概念。如果在数据库中直接使用delete、drop删除了表数据,如果没有备份的话,数据就很难恢复了。

       逻辑删除(软删除):逻辑删除就是对要被删除的数据打上一个删除标记,通常使用一个deleted字段标示行记录是不是被删除,比如该数据有一个字段deleted,当其值为0表示未删除,值为1表示删除。那么逻辑删除就是将0变成1。在逻辑上是数据是被删除的,但数据本身是依然存在的。

       两者的优劣:

       物理删除一定程度上删除了“无用”的数据,降低了表的数据量,对性能肯定是有好处的;但是如果没有备份的话,数据很难恢复。也无法对历史数据进行数据分析。

       逻辑删除恢复的话只要修改deleted等类似的状态标示字段就可以了,但是表的数据量肯定会比物理删除增加了,并且查询时经常要考虑到deleted字段,对索引都会有影响。

       所以一张表的数据是否采用逻辑删除,还要根据数据的重要性、数据量、查询性能以及业务需求等因素综合判断。

       二、逻辑删除实现

       接下来看下使用MP逻辑删除的实现。

       2.1 表添加字段

       首先为需要逻辑删除的表增加一个deleted字段作为逻辑删除字段,并且设置其默认值为0,如下:

       2.2字段上加上@TableLogic注解

       给数据库表对应的实体类字段上加上@TableLogic注解:

       2.3 全局配置

       全局配置该字段的各个状态的值:

       当然这个全局不配置的话,也可以通过注解@TableLogic进行配置:

       但这个不好的地方,就是每个实体类都要进行配置,所以还是建议全局配置的方式。

       2.4 定义Mapper

       定义Photo的Mapper,这个就是正常编写即可:

       2.5 测试

       插入数据:

       说明:在插入数据的时候,这里并没有指定字段deleted,因为在建表的时候设置了默认值,所以默认值为0。

       删除数据:

       说明:这里执行MP的deleteById,但实际执行的SQL是update语句,修改了字段deleted的状态。

       二次执行删除:

       说明:当二次执行删除的时候,就修改失败了,因为这里在修改的时候,有一个条件deleted=0。

       修改操作:

       说明:由于数据逻辑删除了,所以修改数据失败。

       查询操作:

       说明:由于数据逻辑删除了,所以无法查询到数据。

       三、逻辑删除其它说明

       对于数据的增删改查:

       (1)插入: 不作限制。

       (2)查找: 追加 where 条件过滤掉已删除数据,如果使用 wrapper.entity 生成的 where 条件也会自动追加该字段。

       (3)更新: 追加 where 条件防止更新到已删除数据,如果使用 wrapper.entity 生成的 where 条件也会自动追加该字段。

       (4)删除: 转变为 更新

       字段类型支持说明:

       (1)支持所有数据类型(推荐使用 Integer,Boolean,LocalDateTime)

       (2)如果数据库字段使用datetime,逻辑未删除值和已删除值支持配置为字符串null,另一个值支持配置为函数来获取值如now()

       其它说明:

       (1)逻辑删除是为了方便数据恢复和保护数据本身价值等等的一种方案,但实际就是删除。

       (2)如果你需要频繁查出来看就不应使用逻辑删除,而是以一个状态去表示。

       小结

       本小节带大家使用MP实现了逻辑删除,最后对于本文的重点做个小结:

       (1)在MP中实现逻辑删除有两种方式:其一就是使用注解@TableLogic;其二就是在配置文件中全局配置(实际项目中推荐这种方式)。

       (2)字段类型:支持所有数据类型(推荐使用 Integer,Boolean,LocalDateTime)

最全Mybatis-Plus详解,一篇就够了!

       一、了解Mybatis-Plus

       Mybatis-Plus(MP)是一个简化Mybatis开发的工具,基于Mybatis,提供增强功能,以提高效率。

       官网:mybatis.plus/ 或 mp.baomidou.com/

       二、快速开始

       整合Mybatis和MP有三种方式:Mybatis+MP、Spring+Mybatis+MP、Spring Boot+Mybatis+MP。

       创建数据库、表和工程,导入依赖。

       三、通用CRUD操作

       插入、更新、删除和查询操作简化实现。

       四、配置

       MP配置包括Mybatis原生配置和MP特定配置。

       1、基本配置

       configLocation、mapperLocations、typeAliasesPackage用于配置Mybatis。

       2、进阶配置

       mapUnderscoreToCamelCase、cacheEnabled等高级配置。

       五、条件构造器

       使用Wrapper接口实现条件构造,QueryWrapper和UpdateWrapper用于生成SQL条件。

       更多资料:配套视频教程和文档。

       完整资源:pan.baidu.com/s/1sSxvdO... 提取码:wf

一起来学Mybatis Plus(二) & 内置注解

       目前在制作Mybatis Plus系列教程,欢迎关注。

       MyBatis-Plus是一个增强的MyBatis工具,旨在简化开发和提高效率,但并非替代Mybatis的核心学习。掌握Mybatis基础后,使用MyBatis-Plus能实现事半功倍的效果。

       接下来,我们将深入探讨Mybatis-plus的内置注解。

       @TableName注解用于标识实体类对应的表,适用于实体类。

       该注解包含以下属性:

       keepGlobalPrefix属性配置全局表前缀。

       autoResultMap属性,MyBatisPlus会自动构建一个resultMap并注入到MyBatis中(通常无需使用)。

       @TableId注解应用于实体类主键字段。

       示例代码中,指定了主键id为自增类型,但表结构未配置默认值,导致插入时报错。修改表结构后,运行正常。

       默认情况下,mybatis为id字段生成默认值。

       @TableField注解用于非主键字段,如指定查询类型为模糊匹配。

       实体类中指定字段name进行模糊匹配查询,结果验证查询方式等效于接口方式。

       推荐使用接口方式配置注解,便于维护。

       @Version注解用于解决并发更新问题,配置SQL日志查看。

       添加字段version,配置乐观锁插件,测试代码验证更新逻辑。

       @OrderBy注解默认指定排序,优先级低于条件查询。

       尝试配置即可验证。

       以上介绍了常用的注解功能。下一节将介绍代码生成器的使用。

       持续关注,更多内容敬请期待。

实战系列(二)| MybatisPlus详细介绍,包含代码详解

       实战系列(二)| MybatisPlus深入解析与代码实例

       MybatisPlus作为一款强大的MyBatis增强工具,显著提升了数据库操作的效率和开发效率。它集成了丰富的特性,旨在简化CRUD操作,减少手动编码的工作量。

       首先,MybatisPlus的核心功能包括:

       分页插件:MybatisPlus的分页功能基于动态SQL生成,通过Mybatis的count和offset实现,提供了高效且灵活的分页处理。

       自动装配:自动根据实体类生成Mapper、Service和Controller,通过解析XML配置文件,实现了代码生成的便捷性。

       条件查询:MybatisPlus提供了丰富的查询方法,如eq、ne、gt等,通过动态拼接SQL语句,方便进行复杂的条件查询。

       在Spring Boot项目中,配置MybatisPlus的步骤如下:

       在pom.xml文件中添加MybatisPlus的依赖。

       MybatisPlus的使用涉及实体类(Entity)、Mapper接口、Service类和Controller类的创建,它们之间通过MybatisPlus的自动装配功能无缝对接,极大地方便了开发者的工作流程。

相关推荐
一周热点