mongoHelper es un conjunto de herramientas mejorado basado en spring-data-mongodb, que simplifica las operaciones CRUD y proporciona operaciones de base de datos similares a jpa.
Las bases de datos relacionales tradicionales y el orm creado a su alrededor tienen muchos puntos débiles en el desarrollo de proyectos, y la aparición de bases de datos documentadas como mongodb resuelve perfectamente muchos puntos débiles de la base de datos SQL en el desarrollo de proyectos. Es compatible con los asuntos y se puede utilizar perfectamente en proyectos de ingeniería. spring-data-mongodb ya ha encapsulado parte del funcionamiento de mongodb, pero todavía no es suficiente. El funcionamiento de Query and Criteria todavía tiene limitaciones relativamente grandes, y para las personas que están acostumbradas a las operaciones sql y sql orm, las reglas de uso siguen siendo Un poco incómodo. mongoHelper encapsula aún más spring-data-mongodb, complementando las características que tiene mysql pero mongodb no, como los valores predeterminados de los campos, lo que hace que sea más fácil de usar, más cercano a la biblioteca orm de la base de datos relacional y agregando una gran cantidad de administración de proyectos sencilla Función.
Después de usar mongoHelper, es posible encapsular la declaración de paginación de la consulta similar a la mayoría de orm mysql
Búsqueda de página pública (página de página, palabra de cadena, tipo entero) { CriteriaAndWrapper criteriaAndWrapper = new CriteriaAndWrapper (); if (StrUtil.isNotEmpty (palabra)) { criteriaAndWrapper.and (new CriteriaOrWrapper (). like (User :: getName, word) .like (User :: getPhone, word)); } if (type! = null) { criteriaAndWrapper.eq (User :: getType, type); } page = mongoHelper.findPage (criteriaAndWrapper, nuevo SortBuilder (User :: getCreatTime, Direction.DESC), página, User.class); página de retorno; }
La declaración de operación de tabla única se ha vuelto simple
- Eliminar por id: mongoHelper.deleteById (String, Class <?>)
- Eliminar por condición: mongoHelper.deleteByQuery (Criterios, Clase <?>)
- Consultar todo: mongoHelper.findAll (Clase)
- Número de consultas: mongoHelper.findCount (Class <?>)
- Consulta por id: mongoHelper.findById (String, Class)
- Consulta basada en condiciones: mongoHelper.findListByQuery (Criteria, Class <?>)
- Consulta y página según condiciones: mongoHelper.findPage (Criterios, Página, Clase <?>)
- Insertar: mongoHelper.insert (Objeto)
- Insertar o actualizar: mongoHelper.insertOrUpdate (Objeto)
- Actualizar según id: mongoHelper.updateById (Object)
- Actualice todos los campos de acuerdo con id: mongoHelper.updateAllColumnById (Object)
- Actualice el primer elemento de acuerdo con las condiciones: mongoHelper.updateFirst (Criteria, Update, Class <?>)
- Actualice todos los elementos según las condiciones: mongoHelper.updateMulti (Criteria, Update, Class <?>)
La impresión de declaraciones de consulta también está formateada y estandarizada, que se pueden colocar directamente en el cliente de la base de datos para su ejecución.
db.admin.find ({ "$ y": [ { "nombre": { "$ regex": "^. * ad. * $", "$ opciones": "i" } } ] }). proyección ( { "nombre": 1 }). sort ({ "id": -1 });
Esta actualización
1. Agregue el método de uso de Lambda para obtener el nombre del campo
2. Agregue soporte para springBoot 2.3.0
3. Corrija algunos errores
Dirección de código: https://gitee.com/cym1102/mongoHelper