MyBatis-Flex: An elegant MyBatis enhancement framework
feature
1. Very lightweight
The entire MyBatis-Flex framework only relies on MyBatis and has no other third-party dependencies.
2. Only enhance
MyBatis-Flex supports CRUD, paging queries, multi-table queries, and batch operations without losing any of MyBatis' original functions.
3. High performance
MyBatis-Flex adopts a unique technical architecture. Compared with many similar frameworks, MyBatis-Flex's performance in terms of addition, deletion, modification, and query is 5 to 10 times or more higher than that of many similar frameworks.
4. More flexible
MyBatis-Flex supports multiple primary keys, multi-table queries, logical deletions, optimistic locking, data desensitization, data encryption, multiple data sources, sub-databases and sub-tables, field permissions, field encryption, multi-tenants, transaction management, SQL audit... Etc., etc. All this, free and flexible.
MyBatis-Flex v1.6.5 update details are as follows:
- New: Code generator adds mapping processing for Oracle's JdbcTypeMapping type OracleBlob
- Newly added: LogicDeleteManager and TenantManager add Runnable no return value overload, thanks @王伟
- Newly added: RawQueryColumn adds support for parameter placeholders, thanks to @王伟
- New: Code generator adds code templates generated by solon Controller, thanks to @ZhuHJay
- New: UpdateEntity adds the function of automatically removing fields with ignore annotations, thanks to @aqnghu
- Optimization: The code generator configuration class adds support for Serializable interface implementation to facilitate custom cache saving. Thanks to @zoufang162
- Optimization: Use lambda to optimize part of the writing, thanks @handy
- Optimization: use try-with-resources to release Connection, thanks @handy
- Optimization: When DataSourceBuilder makes an error, the problem of swallowing the original exception message information #I7YYRF: [Function Suggestion]: Do not swallow the original exception message information, hope to print out the original exception message or stack
- Optimization:
@Table
Add modification to annotations, thanks @Jerry@Inherited
- Fix: NPE problems may occur when the workflow engine activti6 integrates MyBatis-Flex
- Fix: SQL queries customized through XML are not compatible with the use of custom enumerations, thanks @life
- Documentation: Update related documentation about MyBatis-Flex-Admin
- Documentation: Add relevant documentation about MyBatis-Flex-Kotlin thanks @kamosama
- Documentation: Fixed the sample code error of the custom desensitization processor, thanks @老吉丶
- Documentation: Add relevant documentation about the integration of MyBatis-Flex with workflow engines such as activiti6 and Flowable. Thanks to @ Simple Wind
- Documentation: Fixed individual typos in tombstone documentation, thanks @ rookie3853
- Documentation: Fixed errors in code examples related to custom mapping, thanks @Tuoyu is thinking
This version is released thanks to the above 12 PR students. They are:
@Tuoyu is thinking , @ rookie 3853 , @ SIMPLE FENG , @老吉丶, @CAMOSAMA , @life , @Jerry , @handy , @zoufang162 , @aqnghu , @ZhuHJay , @王伟
For more code contributors, please refer to: https://mybatis-flex.com/zh/intro/what-is-mybatisflex.html#%E8%B4%A1%E7%8C%AE%E8%80%85
To learn more about the MyBatis-Flex framework, please refer to the link:
- 1. Quick start: https://mybatis-flex.com/zh/intro/getting-started.html
- 2. Multi-table related query: https://mybatis-flex.com/zh/base/query.html
- 3. One-to-many, many-to-one: https://mybatis-flex.com/zh/base/relations-query.html
- 4. Flexible QueryWrapper: https://mybatis-flex.com/zh/base/querywrapper.html
- 5. Logical deletion: https://mybatis-flex.com/zh/core/logic-delete.html
- 6. Optimistic locking: https://mybatis-flex.com/zh/core/version.html
- 7. Data filling: https://mybatis-flex.com/zh/core/fill.html
- 6. Data desensitization: https://mybatis-flex.com/zh/core/mask.html
- 7. SQL audit: https://mybatis-flex.com/zh/core/audit.html
- 8. Multiple data sources: https://mybatis-flex.com/zh/core/multi-datasource.htm
- 9. Data source encryption: https://mybatis-flex.com/zh/core/datasource-encryption.html
- 10. Dynamic table name: https://mybatis-flex.com/zh/core/dynamic-table.html
- 11. Transaction management: https://mybatis-flex.com/zh/core/tx.html
- 12. Data permission: https://mybatis-flex.com/zh/core/data-permission.html
- 13. Field permissions: https://mybatis-flex.com/zh/core/columns-permission.html
- 14. Field encryption: https://mybatis-flex.com/zh/core/columns-encrypt.html
- 15. Dictionary write-back: https://mybatis-flex.com/zh/core/columns-dict.html
- 16. Enumeration properties: https://mybatis-flex.com/zh/core/enum-property.html
- 17. Multi-tenancy: https://mybatis-flex.com/zh/core/multi-tenancy.html
- 18. Code generator: https://mybatis-flex.com/zh/others/codegen.html
- 19. QQ communication group: https://mybatis-flex.com/zh/intro/qq-group.html
- 20. Better features are on the way: https://mybatis-flex.com
bilibili video tutorial (free):
Course 1: "MyBatis-Flex Video Tutorial"
Course Introduction: This course is recorded and lectured by Teacher Wang Shuai . Teacher Wang Shuai is also the committer who has contributed the most to the MyBatis-Flex code besides the author. He has a very in-depth understanding of both MyBatis and MyBatis-Flex.
Course address:
https://www.bilibili.com/video/BV11h411A7cU
Course 2: "MyBatis-Flex is easy to master, a complete tutorial from zero basics to advanced applications!" Continuously updating~》
Course Introduction: This course is recorded by Teacher Zhou You. Teacher Zhou You has many years of development experience and rich teaching experience. He can explain many principles of MyBatis-Flex in an easy-to-understand and simple way.
Course address: