MyBatis-Flex es un elegante marco mejorado MyBatis, que es muy ligero, tiene un alto rendimiento y flexibilidad al mismo tiempo. Podemos usar fácilmente Mybaits-Flex para vincular cualquier base de datos, y sus destacados QueryWrapper^ incorporados nos ayudan a reducir en gran medida el trabajo de escritura de SQL y reducen la posibilidad de errores.
MyBatis-Flex principalmente compara y MyBatis-Plus
contrasta Fluent-MyBatis
, y el contenido proviene de su sitio web oficial, git o artículos en línea
característica
1. Ligero : A excepción de MyBatis, no hay dependencia ligera de terceros ni interceptores.El principio es la implementación ligera a través de SqlProvider. Al mismo tiempo, en el proceso de ejecución, no hay ninguna operación ligera de análisis Sql (Parse). Esto trae varios beneficios: 1. Rendimiento extremadamente alto 2. Muy fácil de rastrear y depurar el código 3. Mayor capacidad de control.
2. Flexible : si bien admite la adición, eliminación, modificación y consulta de entidades, y la consulta de paginación, MyBatis-Flex proporciona herramientas flexibles Db + Row^, que pueden agregar, eliminar, modificar y consultar la base de datos sin clases de entidad ni consulta de paginación. Al mismo tiempo, el QueryWrapper^ incorporado de MyBatis-Flex es flexible y puede ayudarnos fácilmente a realizar escenarios comunes de SQL como consulta de varias tablas , consulta de enlace y subconsulta .
3. Potente : admite cualquier base de datos relacional y puede continuar expandiéndose a través de dialectos.También admite múltiples claves primarias (compuestas) , eliminación lógica , configuración de bloqueo optimista , desensibilización de datos , auditoría de datos , llenado de datos y otras funciones.
Comparación de características
función o característica | MyBatis-Flex | MyBatis-Plus | Fluent-MyBatis |
---|---|---|---|
Adición, eliminación, modificación y consulta básica de entidad | ✅ | ✅ | ✅ |
Consulta de paginación | ✅ | ✅ | ✅ |
Caché total para consultas paginadas | ✅ | ✅ | ❌ |
Consulta de paginación sin diseño de análisis de SQL (más ligero y de mayor rendimiento) | ✅ | ❌ | ✅ |
Consulta de varias tablas: de varias tablas | ✅ | ❌ | ❌ |
Consultas multitabla: combinación izquierda, combinación interna, etc. | ✅ | ❌ | ✅ |
Consulta multitabla: union, union all | ✅ | ❌ | ✅ |
Configuración de clave principal única | ✅ | ✅ | ✅ |
Múltiples estrategias de generación de id. | ✅ | ✅ | ✅ |
Admite múltiples claves primarias y claves primarias compuestas | ✅ | ❌ | ❌ |
configuración del controlador de tipo de campo | ✅ | ✅ | ✅ |
Excepto MyBatis, no hay otras dependencias de terceros (más ligero) | ✅ | ❌ | ❌ |
¿QueryWrapper admite la transmisión RPC en proyectos de microservicios? | ✅ | ❌ | desconocido |
Lápida sepulcral | ✅ | ✅ | ✅ |
candado optimista | ✅ | ✅ | ✅ |
Auditoría SQL | ✅ | ❌ | ❌ |
relleno de datos | ✅ | ✔️ (de pago) | ✅ |
desensibilización de datos | ✅ | ✔️ (de pago) | ❌ |
permisos de campo | ✅ | ✔️ (de pago) | ❌ |
cifrado de campo | ✅ | ✔️ (de pago) | ❌ |
diccionario escribir de nuevo | ✅ | ✔️ (de pago) | ❌ |
DB + Fila | ✅ | ❌ | ❌ |
Monitoreo de entidades | ✅ | ❌ | ❌ |
Compatibilidad con múltiples fuentes de datos | ✅ | Con otros marcos o cargas | ❌ |
¿Múltiples fuentes de datos admiten la gestión de transacciones de Spring, como @Transactional y TransactionTemplate etc. |
✅ | ❌ | ❌ |
Si varias fuentes de datos admiten proyectos "no Spring" | ✅ | ❌ | ❌ |
multiusuario | ✅ | ✅ | ❌ |
nombre de la tabla dinámica | ✅ | ✅ | ❌ |
Esquema dinámico | ✅ | ❌ | ❌ |
Comparación de "rendimiento" entre MyBatis-Flex y Mybaits-Plus. Mybaits-Plus es un excelente marco mejorado de Mybaits, que fue de código abierto en 2016 y tiene muchos casos exitosos
Tipos de bases de datos soportados por MyBatis-Flex
base de datos | describir |
---|---|
mysql | base de datos mysql |
mariadb | Base de datos MariaDB |
oráculo | Base de datos Oracle11g e inferior |
oráculo12c | Base de datos Oracle12c y superior |
db2 | base de datos DB2 |
hsql | Base de datos SQL |
sqlite | Base de datos SQLite |
posgresql | Base de datos PostgreSQL |
servidor sql2005 | Base de datos SQLServer2005 |
servidor SQL | Base de datos del servidor SQL |
mensaje directo | Base de datos Dameng |
xugu | Base de datos del valle virtual |
reybases | Base de datos del Almacén Dorado del Congreso Nacional del Pueblo |
fénix | Base de datos Phoenix HBase |
gauss | base de datos Gauss |
casa de clics | Base de datos de ClickHouse |
usar | Base de datos general de NTU (Huaku) |
8s | NTU Base de datos general GBase 8s |
Óscar | Base de datos sobrenatural |
sybase | Base de datos ASE de Sybase |
OceanBase | Base de datos OceanBase |
pájaro de fuego | base de datos de aves de fuego |
derby | base de datos derby |
alto | Base de datos Henkel |
cubriendo | Base de datos CUBRID |
encerrada dorada | Base de datos Ricitos de Oro |
isla | Base de datos CSIIDB |
hana | Base de datos SAP_HANA |
impala | base de datos impala |
vertical | base de datos vertical |
xnube | Base de datos de Xingyun |
corrimiento al rojo | Base de datos de corrimiento al rojo de Amazon |
abrirGauss | Base de datos OpenGauss de Huawei |
Motor T | Base de datos TEngine |
informix | base de datos informix |
ciruela verde | Base de datos de ciruela verde |
uxdb | base de datos youxuan |
Código fuente de prueba: mybatis-benchmark: comparación de rendimiento entre Mybatis-Flex y Mybatis-Plus
referencia: