![](https://img-blog.csdnimg.cn/direct/6293366cc0b34b738c8cd68e54bc3c4b.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mybatis-plus
文章平均质量分 85
Mybatis-Plus
你知道“铁甲小宝”吗丶
尽最大的努力,奉献最棒的自己
展开
-
《Mybatis-Plus》系列文章目录
Mybatis-Plus支持任何能使用MyBatis进行CRUD,并且支持标准SQL的数据库,包括但不限于MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、PostgreSQL、SQL Server等。Mybatis-Plus(简称MP)旨在简化开发、提高效率,通过提供一系列便捷的功能和工具,大幅度减少开发人员编写重复代码的时间和精力。它无侵入地增强MyBatis的功能,不会对现有工程产生影响。MyBatis-Plus为开源社区做出了巨大的共享,推动了国内开源生态的发展。原创 2024-06-25 19:36:42 · 495 阅读 · 0 评论 -
【第1章】MyBatis-Plus快速开始
通过对Mybatis-Plus的安装和配置来完成对完成对Mybatis-Plus的使用。回到顶部Spring Boot 快速启动示例Spring MVC 快速启动示例通过以上几个简单的步骤,我们就实现了 User 表的 CRUD 功能,甚至连 XML 文件都不用编写!从以上步骤中,我们可以看到集成 MyBatis-Plus 非常的简单,只需要引入 starter 依赖,简单进行配置即可使用。但 MyBatis-Plus 的强大远不止这些功能,想要详细了解 MyBatis-Plus 的强大功能?原创 2024-06-25 19:37:16 · 562 阅读 · 0 评论 -
【第2章】MyBatis-Plus代码生成器
全新的 MyBatis-Plus 代码生成器,通过 builder 模式可以快速生成你想要的代码,快速且优雅,跟随下面的代码一睹为快。回到顶部。原创 2024-06-26 19:12:21 · 901 阅读 · 0 评论 -
【第3章】MyBatis-Plus持久层接口之Service Interface(上)
接下来详细介绍了 MyBatis-Plus 进行持久化操作的各种方法,包括插入、更新、删除、查询和分页等。通过本文,您可以了解到 MyBatis-Plus 提供的各种方法是如何进行数据操作的,以及它们对应的 SQL 语句。本文介绍IService ,IService 是 MyBatis-Plus 提供的一个通用 Service 层接口,它封装了常见的 CRUD 操作,包括插入、删除、查询和分页等。通过继承 IService 接口,可以快速实现对数据库的基本操作,同时保持代码的简洁性和可维护性。原创 2024-06-26 19:12:47 · 1174 阅读 · 2 评论 -
【第4章】MyBatis-Plus持久层接口之Service Interface(下)
getlistpagecount回到顶部建议大家使用官方推荐的版本或者稳定的版本,有些官方示例没有及时更新,就报错或者直接编译过不去,建议大家仔细阅读官方文档或直接查看相关源码处理流程。原创 2024-06-27 19:15:47 · 1026 阅读 · 0 评论 -
【第5章】MyBatis-Plus持久层接口之Mapper Interface
BaseMapper 是 Mybatis-Plus 提供的一个通用 Mapper 接口,它封装了一系列常用的数据库操作方法,包括增、删、改、查等。通过继承 BaseMapper,开发者可以快速地对数据库进行操作,而无需编写繁琐的 SQL 语句。insertdeleteupdateselect泛型T为任意实体对象参数为任意类型主键Mybatis-Plus 不推荐使用复合主键约定每一张表都有自己的唯一 id 主键对象Wrapper为条件构造器回到顶部。原创 2024-06-27 19:16:12 · 848 阅读 · 0 评论 -
【第6章】MyBatis-Plus持久层接口之Mapper 层选装件
选装件是 Mybatis-Plus 提供的一些扩展方法,它们位于包下。这些方法需要配合Sql 注入器使用,以扩展 Mapper 接口的功能。使用这些选装件前,需要确保已经正确配置了 Sql 注入器。更多使用案例和详细信息,可以参考官方案例和源码注释。回到顶部官方案例给出了内置的选装件和自定义选装件,建议大家了解Sql 注入器内容后再来学习选装件相关内容。原创 2024-06-28 19:09:55 · 890 阅读 · 0 评论 -
【第7章】MyBatis-Plus持久层接口之Chain
Chain 是 Mybatis-Plus 提供的一种链式编程风格,它允许开发者以更加简洁和直观的方式编写数据库操作代码。Chain 分为 query 和 update 两大类,分别用于查询和更新操作。每类又分为普通链式和 lambda 链式两种风格,其中 lambda 链式提供了类型安全的查询条件构造,但不支持 Kotlin。回到顶部。原创 2024-06-28 19:10:19 · 496 阅读 · 0 评论 -
【第8章】MyBatis-Plus持久层接口之ActiveRecord
ActiveRecord 模式是一种设计模式,它允许实体类直接与数据库进行交互,实体类既是领域模型又是数据访问对象。在 Mybatis-Plus 中,实体类只需继承 Model 类即可获得强大的 CRUD 操作能力。使用 ActiveRecord 模式前,需要确保项目中已注入对应实体的 BaseMapper。回到顶部。原创 2024-06-29 22:47:53 · 463 阅读 · 0 评论 -
【第9章】MyBatis-Plus持久层接口之SimpleQuery
SimpleQuery 是 Mybatis-Plus 提供的一个工具类,它对 selectList 查询后的结果进行了封装,使其可以通过Stream流的方式进行处理,从而简化了API的调用。SimpleQuery 的一个特点是它的peeks参数,这是一个可变参数,类型为 Consumer…,意味着你可以连续添加多个操作,这些操作会在查询结果被处理时依次执行。SimpleQuery 的使用方式可以参考官方测试用例。使用 SimpleQuery 前,需要确保项目中已注入对应实体的 BaseMapper。原创 2024-06-29 22:48:16 · 1333 阅读 · 0 评论 -
【第10章】MyBatis-Plus持久层接口之Db Kit
Db Kit 是 Mybatis-Plus 提供的一个工具类,它允许开发者通过静态调用的方式执行 CRUD 操作,从而避免了在 Spring 环境下可能出现的 Service 循环注入问题,简化了代码,提升了开发效率。Db Kit 的完整使用方式可以参考官方测试用例。使用 Db Kit 前,需要确保项目中已注入对应实体的 BaseMapper。当参数为 Wrapper 时,需要在 Wrapper 中传入 Entity 或者 EntityClass,以便寻找对应的 Mapper。原创 2024-07-01 19:30:32 · 489 阅读 · 0 评论 -
【第11章】MyBatis-Plus条件构造器(上)
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。在 MyBatis-Plus 中,Wrapper 类是构建查询和更新条件的核心工具。以下是主要的 Wrapper 类及其功能:AbstractWrapper:这是一个抽象基类,提供了所有 Wrapper 类共有的方法和属性。它定义了条件构造的基本逻辑,包括字段(column)、原创 2024-07-01 19:31:49 · 1631 阅读 · 0 评论 -
【第12章】MyBatis-Plus条件构造器(下)
本章继续上章条件构造器相关内容。MyBatis-Plus 提供了强大的 Wrapper 条件构造器,允许开发者自定义 SQL 语句,以满足更复杂的数据库查询需求。为了使用这一功能,请确保你的版本不低于3.0.7。回到顶部使用 TypeHandler大家可以放到后面了解,后面会有专门的一章去讲字段类型处理器。原创 2024-07-02 19:15:17 · 638 阅读 · 0 评论 -
【第13章】MyBatis-Plus流式查询
MyBatis-Plus 从3.5.4版本开始支持流式查询,这是MyBatis的原生功能,通过接口实现结果集的流式查询。这种查询方式适用于数据跑批或处理大数据的业务场景。在BaseMapper中,新增了多个重载方法,包括selectListselectMapsselectObjs,这些方法可以与流式查询结合使用。需要注意的是,在低版本的中,如果自定义结合分页查询,可能会出现错误。在这种情况下,需要手动关闭count查询。具体问题和解决方案可以参考GitHub上的相关issue。回到顶部。原创 2024-07-02 19:15:44 · 401 阅读 · 0 评论 -
【第14章】MyBatis-Plus批量操作
批量操作是一种高效处理大量数据的技术,它允许开发者一次性执行多个数据库操作,从而减少与数据库的交互次数,提高数据处理的效率和性能。数据插入(Insert):批量插入是批量操作中最常见的应用场景之一。通过一次性插入多条记录,可以显著减少SQL语句的执行次数,加快数据写入速度。这在数据迁移、初始化数据等场景中尤为有用。数据更新(Update):批量更新允许同时修改多条记录的特定字段,适用于需要对大量数据进行统一变更的情况,如批量修改用户状态、更新产品价格等。原创 2024-07-03 19:16:36 · 832 阅读 · 0 评论 -
【第15章】MyBatis-Plus自动映射枚举
我们在mybatis的(基于枚举常量序号) 和(基于枚举常量名) 之外提供了更加灵活的枚举处理器(基于枚举常量属性)只需要对枚举进行声明,即可实现枚举的自动映射未进行声明的枚举则根据mybatis的的默认值来进行映射// 名字// 年龄// 年级回到顶部。原创 2024-07-03 19:17:13 · 477 阅读 · 0 评论 -
【第16章】MyBatis-Plus自动填充字段
MyBatis-Plus 提供了一个便捷的自动填充功能,用于在插入或更新数据时自动填充某些字段,如创建时间、更新时间等。以下是如何使用这一功能的详细说明。自动填充功能通过实现接口来实现。你需要创建一个类来实现这个接口,并在其中定义插入和更新时的填充逻辑。在实体类中,你需要使用注解来标记哪些字段需要自动填充,并指定填充的策略。// 其他字段...回到顶部通过以上步骤,你可以轻松地在 MyBatis-Plus 中实现自动填充功能,提高开发效率。原创 2024-07-04 20:07:45 · 429 阅读 · 0 评论 -
【第17章】MyBatis-Plus自动维护DDL
在的3.5.3+版本中,引入了一项强大的功能:数据库DDL(数据定义语言)表结构的自动维护。这一功能通过执行SQL脚本来实现数据库模式的初始化和升级,与传统的flyway工具相比,它不仅支持分表库,还能够控制代码执行SQL脚本的过程。自动维护DDL历史:首次使用时,系统会在数据库中创建一个名为的表,用于记录每次执行的SQL脚本版本信息。灵活的脚本执行:支持在不同的数据库之间切换数据源,并动态执行相应的脚本命令。企业级特性:这一功能被视为企业级的高级特性,并且是开源版本的一部分。回到顶部。原创 2024-07-04 20:08:13 · 458 阅读 · 0 评论 -
【第18章】MyBatis-Plus主键生成策略
在 MyBatis-Plus 中,主键生成策略是一个重要的概念,它决定了如何为数据库表中的记录生成唯一的主键值。以下是关于主键生成策略的详细说明和配置方法。主键生成策略必须使用INPUT类型,这意味着主键值需要由用户在插入数据时提供。支持在父类中定义注解,子类可以继承使用。从版本 3.3.0 开始,MyBatis-Plus 会自动识别主键类型,因此不再需要手动指定主键类型。如果内置的主键生成策略不能满足需求,可以通过实现 IKeyGenerator 接口来扩展自定义的主键生成策略。@Bean。原创 2024-07-05 19:26:09 · 768 阅读 · 0 评论 -
【第19章】MyBatis-Plus自定义ID生成器
MyBatis-Plus 提供了灵活的自定义ID生成器功能,允许开发者根据业务需求定制ID生成策略。从3.3.0版本开始,默认使用雪花算法结合不含中划线的UUID作为ID生成方式。MyBatis-Plus自带主键生成策略对比方法主键生成策略主键类型说明nextIdASSIGN_ID支持自动转换为String类型,但数值类型不支持自动转换,需精准匹配,例如返回Long,实体主键就不支持定义为IntegernextUUIDString默认不含中划线的UUID生成。原创 2024-07-05 19:27:21 · 462 阅读 · 0 评论 -
【第20章】MyBatis-Plus逻辑删除支持
逻辑删除是一种优雅的数据管理策略,它通过在数据库中标记记录为“已删除”而非物理删除,来保留数据的历史痕迹,同时确保查询结果的整洁性。MyBatis-Plus 提供了便捷的逻辑删除支持,使得这一策略的实施变得简单高效。回到顶部通过以上步骤,你可以轻松地在 MyBatis-Plus 中实现逻辑删除功能,提高数据管理的灵活性和安全性。原创 2024-07-06 09:40:20 · 1205 阅读 · 0 评论 -
【第21章】MyBatis-Plus多数据源支持
随着项目规模的扩大,单一数据源已无法满足复杂业务需求,多数据源(动态数据源)应运而生。本文将介绍两种 MyBatis-Plus 的多数据源扩展插件:开源生态的和 企业级生态的。回到顶部通过上述介绍,我们可以看到和都提供了强大的多数据源支持,开发者可以根据项目需求选择合适的插件来实现数据源的灵活管理。原创 2024-07-06 09:40:42 · 1117 阅读 · 0 评论 -
【第22章】MyBatis-PlusSQL分析与打印
MyBatis-Plus提供了SQL分析与打印的功能,通过集成p6spy组件,可以方便地输出SQL语句及其执行时长。本功能适用于及以上版本。p6spy是一个针对数据库访问进行拦截和记录的工具,它通过代理JDBC驱动程序来工作。这意味着你的应用程序可以像往常一样使用JDBC,而p6spy会在幕后记录所有的SQL语句及其执行时间。这对于开发和调试过程中的SQL优化非常有用。p6spy慢SQL检测:通过配置outagedetection和outagedetectioninterval。原创 2024-07-08 19:18:40 · 1200 阅读 · 0 评论 -
【第23章】MyBatis-Plus之SQL数据安全保护
MyBatis-Plus 提供了数据安全保护功能,旨在防止因开发人员流动而导致的敏感信息泄露。从3.3.2版本开始,MyBatis-Plus 支持通过加密配置和数据安全措施来增强数据库的安全性。回到顶部通过上述措施,MyBatis-Plus 帮助你构建了一个更加安全的数据库环境,保护了敏感数据不被泄露。原创 2024-07-08 19:19:02 · 358 阅读 · 0 评论 -
【第24章】MyBatis-Plus之SQL注入器
MyBatis-Plus 提供了灵活的机制来注入自定义的 SQL 方法,这通过全局配置实现。通过实现接口或继承抽象类,你可以注入自定义的通用方法到MyBatis容器中。SQL注入器允许开发者扩展和定制SQL语句的生成,以适应特定的业务逻辑和查询需求。首先,你需要定义自定义方法的SQL语句。这通常在继承了的类中完成,例如。@Override// 定义SQL语句// 第三个参数必须和baseMapper的自定义方法名一致接下来,你需要创建一个类来继承,并重写方法来注册你的自定义方法。原创 2024-07-09 19:10:54 · 844 阅读 · 0 评论 -
【第25章】MyBatis-Plus之字段类型处理器
在 MyBatis 中,类型处理器()扮演着JavaType与JdbcType之间转换的桥梁角色。它们用于在执行 SQL 语句时,将Java对象的值设置到中,或者从ResultSet或中取出值。MyBatis-Plus 给大家提供了提供了一些内置的类型处理器,可以通过TableField注解快速注入到 MyBatis 容器中,从而简化开发过程。示例工程:👉在 MyBatis-Plus 中,除了使用内置的类型处理器外,开发者还可以根据需要自定义类型处理器。原创 2024-07-09 19:11:22 · 1398 阅读 · 0 评论 -
【第27章】MyBatis-Plus之Mybatis X 插件
MybatisX 是一款专为 IntelliJ IDEA 设计的快速开发插件,旨在提升 MyBatis 与 MyBatis-Plus 框架的开发效率。MybatisX 允许您根据项目需求自定义模板内容,包括实体类、表名、字段信息等。回到顶部通过 MybatisX 插件,您可以大幅提升 MyBatis 与 MyBatis-Plus 框架的开发效率,同时享受便捷的代码生成和模板自定义功能。原创 2024-07-10 19:29:25 · 949 阅读 · 0 评论 -
【第28章】MyBatis-Plus之插件主体
MyBatis-Plus 提供了一系列强大的插件来增强 MyBatis 的功能,这些插件通过来实现对 MyBatis 执行过程的拦截和增强。以下是这些插件的详细介绍和使用方法。注意版本要求:3.4.0 版本以上回到顶部以上是 MyBatis-Plus 插件主体的详细介绍和使用方法。通过这些插件,你可以大大增强 MyBatis 的功能,提高开发效率。原创 2024-07-11 19:13:47 · 943 阅读 · 0 评论 -
【第29章】MyBatis-Plus之分页插件
的分页插件提供了强大的分页功能,支持多种数据库,使得分页查询变得简单高效。属性名类型默认值描述overflowbooleanfalse溢出总页数后是否进行处理maxLimitLong单页分页条数限制dbTypeDbType数据库类型dialectIDialect方言实现类建议单一数据库类型的均设置dbType你可以通过以下方式在Mapper// 或者自定义分页类// 或者返回 List对应的 XML 配置:原创 2024-07-11 19:14:26 · 1153 阅读 · 0 评论 -
【第30章】MyBatis-Plus之使用配置
MyBatis-Plus 提供了丰富的配置选项,以满足不同用户的需求。这些配置中,一部分继承自 MyBatis 原生支持的配置,另一部分则是 MyBatis-Plus 特有的扩展配置。回到顶部更多使用配置请访问官方网站。原创 2024-07-12 19:00:57 · 919 阅读 · 0 评论 -
【第26章】MyBatis-Plus之高级特性
是为 MyBatis-Plus 提供的企业级模块,旨在更敏捷优雅处理数据。传送门联系作者确认后微信公众号发文介绍 Mybatis-Mate 的软文,可免费获得永久个人授权证书。该模块属于 MyBatis-Plus 的扩展库,非 MyBatis-Plus 的收费版本,任何问题由 青苗 个人负责。回到顶部。原创 2024-07-10 19:28:54 · 844 阅读 · 0 评论 -
【第31章】MyBatis-Plus之注解配置
本文详细介绍了 MyBatisPlus 注解的用法及属性,提供了源码链接以便深入理解。欢迎通过下方链接查看注解类的源码。Mybatis-Plus Annotation 源码Mybatis-Plus注解统一存放在包下。通过这些注解,我们可以非常方便地处理Java对象和数据库表对象复杂的映射关系。回到顶部更多注解配置内容访问官方网站。原创 2024-07-12 19:01:20 · 723 阅读 · 0 评论 -
【第32章】MyBatis-Plus之代码生成器配置
MyBatis-Plus 全新代码生成器在继承原有功能的基础上,引入了更加灵活和高效的 builder 模式,使得开发者能够快速生成符合需求的代码,同时保持代码的优雅和整洁。这个新特性旨在进一步提升开发效率,减少重复劳动,让开发者能够更加专注于业务逻辑的实现。Builder 模式:通过 builder 模式,开发者可以链式调用配置方法,直观地构建代码生成器的配置,使得代码更加清晰易读。快速配置:新代码生成器提供了快速配置选项,如全局配置、包配置、策略配置等,可以一键设置常用选项,快速启动代码生成过程。原创 2024-07-13 08:11:52 · 792 阅读 · 0 评论 -
【第33章】MyBatis-Plus之预防安全漏洞
软件漏洞可以对系统造成严重危害,如果被人恶意利用,会导致病毒感染、数据泄漏或损坏的风险,还可能面临直接或间接的经济损失。那么,我们应该如何预防这些漏洞呢?在深入探讨漏洞问题之前,首先需要明确什么是漏洞。漏洞是指软件、系统或网络中存在的安全弱点或错误,这些弱点可能导致系统遭受攻击或被不当使用。在计算机安全领域,漏洞通常源于编程错误、设计缺陷或配置失误。对于对象关系映射(ORM)框架来说,漏洞通常指的是设计或实施中的安全问题,这些问题可能让应用程序面临SQL注入攻击的风险。SQL 注入漏洞。原创 2024-07-13 08:12:16 · 727 阅读 · 0 评论