¿Por qué necesito mybatis?
MyBatis es un marco Java ORM, y ORM surgió para simplificar el desarrollo. El método de desarrollo inicial era que la lógica de consulta de bases de datos y la lógica de la base de datos se separaron, ya sea escribiendo declaraciones SQL en un programa o llamando a los procedimientos almacenados de SQL. Esto lleva a la necesidad de cambiar entre la lógica del lenguaje y la lógica SQL, lo que resulta en un desarrollo ineficiente. Por lo tanto, han surgido una serie de marcos ORM. El marco ORM corresponde a tablas de base de datos y objetos Java. Al operar la base de datos, solo necesita operar los objetos Java del objeto, como establecer varias y condiciones, y solo establecer unos pocos atributos.
¿Por qué necesito el generador mybatis
Aunque existe el marco mybatis, aprender mybatis también requiere costos de aprendizaje, especialmente configurar los archivos XML que requiere, que es bastante engorroso, y los errores ocurren en la configuración, lo que no es fácil de localizar. Cuando hay errores inexplicables o grandes cantidades de objetos que deben generarse, a menudo existe la sensación de ser reacio a vivir y deambular en la mente. Por lo tanto, el generador de mybatis surgió.
Solo requiere una configuración simple para completar la generación de grandes cantidades de tablas a los objetos Java MyBatis. No solo es rápido, sino que tampoco tiene errores, lo que permite a los desarrolladores centrarse realmente en el desarrollo de la lógica comercial.
La función oficial del generador MyBatis es relativamente simple, y no se ha implementado para funciones de paginación ligeramente complejas, funciones de inserción por lotes, etc. que inevitablemente se usan en el desarrollo, pero tiene funciones de complemento maduras admitidas.
He puesto la herramienta de generación MyBatis que generalmente usamos a GitHub, que tiene funciones integradas de paginación, inserción por lotes y serialización. Puede consultarlo aquí y ya ha introducido cómo usarlo.
Estructura del archivo del generador mybatis
El archivo generado contiene tres categorías:
1. Archivo de entidad modelo, una tabla de base de datos genera una entidad modelo;
2. Archivo ModelExample, este archivo y archivo de entidad están en el mismo directorio, y se utilizan principalmente para consultar la construcción condicional;
3. Los métodos de operación de datos de interfaz de gestión y operación de datos se definen en esta interfaz;
4. Archivo de configuración XML de Mapper;
Configure la ruta de generación de archivos en el archivo de configuración y configure el nombre del paquete correspondiente para generar la estructura y los archivos del directorio correspondiente. Establecí el directorio generado en el directorio de prueba, el nombre del paquete de entidad es com.fengzheng.dao.entity, el nombre del paquete de interfaz es com.fengzheng.dao.mapper, y luego la estructura del directorio de archivos generado se muestra en la figura a continuación:
Cómo escribir código
Todas las llamadas de método provienen del archivo de interfaz generado. En Spring MVC, es necesario declararlo en la persona que llama. Utilizando una interfaz de la lista negra como ejemplo, el archivo de interfaz generado es BlackListIpMapper, por lo que la persona que llama debe declarar esta interfaz, como sigue:
@AUtowiredPrivate BlackListipMapper BlackListipMapper;
Consulta de la base de datos
La consulta es la función más utilizada. El siguiente método es consultar registros cuya IP es un cierto valor. Si conoce la clave principal, puede usar el método SelectByPrimaryKey.
public BlackListip get (String IP) {BlackListipExample Ejemplo = new BlackListipExample (); Ejemper.CreateCriteria (). AndipequalTo (IP); List <BlackListip> BlackListipList = BlackListMapPer. BlackListIpList.get (0);} return null;} El método de llamar al método es similar. Para más detalles, consulte la introducción de los documentos relevantes.
Clasificar
public BlackListip get (String IP) {BlackListIpeExample Ejemplo = new BlackListipExample (); Ejemplo.SetOrderByClause ("Create_Time Desc"); // Ordenar por tiempo de creación Ejemplo.CreateCriteria (). Andipequalto (IP); List <BlackListip> BlackListInSist = BlackListMapper.SelectByExample (ejemplo); if (BlackListInsist! = NULL && BlackListInst.Size ()> 0) {return BlackListInsist.get (0);}Paginación
Public PageInfo List (Cuenta de cuenta, PageInfo PageInfo, String Starttime, String EndTime) {Account.SetIsDel (sysparamDetailConstant.is_del_false); cuenta de cuenta Ejemplo = getCondition (Account, Starttime, Endtime); if (null! = PageInfo && null! = PageInfo.getPagestart ()) {Ejemplo.setLimitClausStart (pageInfo.getPaGeStart ()); Ejemplo.SetLimitClauseCount (pageInfo.getPageCount ());} Ejemplo.SetOrderByClause ("create_time desc"); list <Cupcence = AccountMapper.SelectByExample (ejemplo); INTOTALCOUNT = AccountMapper.CountByExample (ejemplo); pageInfo.setList (List); PageInfo.SettotalCount (TotalCount); return PageInfo;} Implementar condiciones de consulta como a = x y (b = xx o b = xxx)
Aunque es conveniente generar código automáticamente, todo tiene sus ventajas y desventajas. El generador MyBatis no tiene forma de generar la función de unión de mesa, por lo que solo se puede agregar manualmente. El empalme condicional como A = x y (b = xx o b = xxx) se implementa de la siguiente manera.
AccountExample de cuenta EXample = new TockeExample (); cuenta de Criteria Criteria = AccountExample.CreateCriteria (). AndTypeequalTo ("4"); criteria.addCriterion (string.format ("(id =%d o id =%d)", 34,35)); Lista <cuentas> cuentas = cuentas de cuentas.selectByxaptyxap sampleplayplaod Sin embargo, debe modificar un pequeño código, modificar la línea 524 de Ejemplo Generator en el org.mybatis.generator.coden.mybatis3.model paquete, el método de cambio.setVisability (javavisability.protected); a métod.setVisability (javavisability.public);
Los cambios se han sincronizado con GitHub.
Lo anterior es el código y el uso del generador MyBatis presentados por el editor. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!