文章更新时间:2023-09-22 15:05
组件简介
维护者 | baomidou 组织 | 许可证类型 | Apache-2.0 |
首次发布 | 2016 年 1 月 27 日 | 最新发布时间 | 2023 年 8 月 8 日 |
GitHub Star | 15065 | GitHub Fork | 4090 |
依赖包 | 3064,589 | 依赖存储库 | 4,589 |
mybatis-plus是一款Mybatis增强工具,用于简化开发,提高效率。
官方仓库:https://github.com/baomidou/mybatis-plus
参考链接:
https://mvnrepository.com/artifact/com.baomidou/mybatis-plus
https://packages.ecosyste.ms/registries/repo1.maven.org/packages/com.baomidou:mybatis-plus
组件健康度
技术健康度 | 该组件是一个 MyBatis 的增强工具,提供了许多有用的功能,如自动分页、逻辑删除、代码生成等。它完全兼容 MyBatis,不会对现有的工程产生影响。它的代码质量较高,遵循了统一的编码风格,并且有较高的测试覆盖率。它的技术架构清晰,模块划分合理,易于扩展和维护。 |
社区健康度 | 该组件在 GitHub 上有超过 1.6 万颗星,是一个非常受欢迎的开源项目。它有一个活跃的社区,有许多贡献者参与了代码开发和文档维护。它也有一个专门的微信群,可以让用户交流问题和建议。它还获得了“OSC 年度最受欢迎中国开源软件”殊荣五年连续获得(2017、2018、2019、2020、2021),显示了它在开源界的影响力和认可度。 |
更新和维护频率 | 该组件的更新和维护频率较高,最新的版本是 3.5.3.2,发布于 2023 年 8 月 8 日。它的更新日志显示了它不断修复 bug 和增加新功能的过程。它也及时响应了用户提出的 issue 和 pull request,并且有一个专门的 changelog-temp.md 文件来记录未发布版本的变更。 |
兼容性 | 该组件支持多种数据库类型,如 MySQL、Oracle、PostgreSQL 等。它也支持多种 Java 版本,如 Java 8、Java 11、Java 17 等。它还支持 Spring Boot 和 Spring Cloud 等流行的框架。它的兼容性较好,可以适应不同的开发环境和需求。 |
文档和支持 | 该组件有一份详细而完善的文档,介绍了它的功能、用法、配置和示例等内容。文档使用 Markdown 格式编写,并且支持中文和英文两种语言。文档也有一个在线版本,方便用户查阅和学习。除了文档外,该组件还提供了一些教程、案例和使用者名单等资源,可以帮助用户更好地理解和使用该组件。 |
com.baomidou:mybatis-plus 这个组件是一个优秀的 MyBatis 增强工具,具有较高的技术健康度、社区健康度、更新和维护频率、兼容性和文档和支持水平。它可以为 MyBatis 的开发者带来便利和效率,是一个值得推荐和使用的组件。
参考链接:
https://github.com/baomidou/mybatis-plus
https://baomidou.com/pages/24112f/
组件许可证解读
Apache License 2.0 是一种开源软件许可证,广泛用于授权开源项目和代码。Apache License 2.0 允许用户自由地使用、修改和分发受许可的软件,而无需支付版权费用或专利费用。它鼓励开发者共享他们的代码,并保护用户的权利。以下是该许可证的一些重要特点:
- 代码使用权:用户可以自由地使用、复制、修改、合并、发布、分发和销售受许可软件。
- 版权声明:用户必须在所有源代码副本中保留原始的版权声明、许可证声明和免责声明。
- 修改代码:如果用户对代码进行了修改,需要清楚标明哪些部分发生了变化,并不能暗示原作者同意这些修改。
- 商标使用:Apache License 2.0 并未授予使用原软件的任何商标或名称的权利。
- 专利许可:该许可证授予了在使用、修改或分发受许可软件时相关专利的非独占许可。这意味着如果用户授权其他人使用该软件,相关专利许可也会传递给接收方。
- 再许可:用户可以将受 Apache License 2.0 许可的代码作为一部分整合到其它开源项目中,并使用不同的许可证授权整个项目。但是,需要在代码中显式地说明使用了 Apache License 2.0 许可的部分。
需要注意的是,Apache License 2.0 并不保证软件没有缺陷或不稳定性,使用该软件的风险由用户自行承担。
许可证原文链接:https://github.com/baomidou/mybatis-plus/blob/3.0/LICENSE
组件漏洞版本及修复方案
漏洞编号 | 漏洞标题 | 漏洞等级 | 影响版本 | 修复版本 |
MPS-2023-3977 | 【存在争议】MybatisPlus <= 3.5.3.1 TenantPlugin 组件 存在 sql 注入漏洞 | 高危 | [1.0, 3.5.3.1] | 对 tenant(租户)ID 进行过滤 |
同类型可替代组件
- FluentMybatis:这是一个由阿里巴巴开发的新一代 ORM 框架,它可以不用写具体的 XML 文件,通过 Java API 可以构造出比较复杂的业务 SQL 语句,做到代码逻辑和 SQL 逻辑的合一。它也支持多种数据库类型、主键策略、逻辑删除、乐观锁等功能。官网:https://github.com/atool/fluent-mybatis
组件SBOM
组件名称 | 版本 | 是否直接依赖 | 仓库 |
org.junit.jupiter:junit-jupiter-api | 5.9.3 | 否 | maven |
io.netty:netty-codec | 4.1.97.Final | 否 | maven |
org.apache.yetus:audience-annotations | 0.5.0 | 否 | maven |
org.apache.commons:commons-lang3 | 3.12.0 | 否 | maven |
org.apache.felix:org.apache.felix.bundlerepository | 1.6.6 | 否 | maven |
io.netty:netty-transport | 4.1.97.Final | 否 | maven |
org.jetbrains.kotlin:kotlin-stdlib-jdk8 | 1.9.0 | 是 | maven |
org.apache.maven.doxia:doxia-module-apt | 1.0 | 否 | maven |
org.hamcrest:hamcrest | 2.2 | 是 | maven |
org.springframework:spring-context-support | 5.3.29 | 否 | maven |
org.springframework:spring-tx | 6.0.11 | 是 | maven |
该SBOM清单仅展示部分内容
完整SBOM清单及检测报告:
https://www.murphysec.com/console/report/1705103769745539072/1705103774313136128?allow=1