Prefacio
Este artículo le presenta principalmente el contenido relevante sobre la integración de arranque de primavera MyBatis usando MySQL para implementar la UUID de clave principal. Lo compartiremos para su referencia y aprendizaje. No diré mucho a continuación, echemos un vistazo a la introducción detallada juntos.
lograr
La parte pom.xml del proyecto básico es la siguiente
<properties> <java.version>1.8</java.version> </properties> <!-- Inherit defaults from Spring Boot --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <dependencies> <!--Spring Boot Dependencies-> <Spendency> <MoupRoupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-web </artifactid> </peperspency> <paperency> <uproupid> org.springframework.boot </groupId> <artifactid> spring-boot-starter-jdbc </artifactid> <//dependency> </dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--Frequently used library dependencies--> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> </dependency> <dependency> <MoupRid> org.apache.commons </groupid> <artifactid> commons-lang3 </artifactid> <versión> 3.6 </versión> </pendency> <pendency> <proupid> com.google.guava </proupid> <artifactID> guava </shifactid> <proonsion> 23.0 </versión> </spendency> <! <Spendency> <ProupId> mysql </groupid> <artifactid> mysql-confonnector-java </artifactid> <cope> runtime </pope> </pependency> <!-myBatis y dependencias de complemento-> <fependency> <uproupid> org.mybatis </proupid> <artifactid> mybatis-spring </ArtifactId> </artad> </artifact> <Versión> 1.3.1 </versión> </pendency> <pendency> <grupid> org.mybatis </groupid> <artifactid> mybatis </arifactid> <verserse> 3.4.5 </versión> </pendency> <pendency> <grupo> tk.mybatis </proupid> <artifactid> mapper </artifactid> <versión> 3.2. </pendency> <pendency> <grupid> com.github.pagehelper </proupid> <artifactid> pageHelper </arfactid> <verserse> 4.2.1 </versión> </pendency> <!-Ali FastJson Dependency-> <Spendency> <ProupId> com.alibaBa </groupid> <artifactid> fastjson </artfactid> <Versión> 1.2.44 </versión> </pendency> <!-Dependencia del arranque de arranque de primavera Ali Druid-> <Spendency> <MoupRid> com.alibaba </groupid> <artifactid> druid-spring-boot-starter </arifactid> <versión> 1.1.6 </versión> </pendency> </pendences> </proyecto>
La configuración específica de mybatis es la siguiente
@Bean Public MappersCannerConfigurer MappersCannerConfigurer () {MappersCannerConfigurer MappersCannerConfigurer = new MappersCannerCigurer (); mapperscannerconfigurer.setsqlSessionFactoryBeanName ("SQLSessionFactoryBean"); mapperscannerconfigurer.setBasepackage (mapper_package); // Configurar un mapeador general, consulte el documento oficial para obtener detalles Propiedades Propiedades = New Properties (); Properties.setProperty ("Mappers", mApper_interface_reference); Properties.setProperty ("noTempty", "verdadero"); // si a determinar el tipo de cadena,! = '', es decir, si Agrandar y str! = '' propiedades.setProperty ("identity", "seleccione uUid ()"); // use UUID como propiedades principales.setProperty ("ordenar");/// MappersCannerConfigurer.SetProperties (propiedades); return MappersCannerConfigurer; }La entidad es la siguiente
Usuario de clase pública {@id @column (name = "id") @GeneratedValue (estrategia = generationType.identity) ID de cadena privada; @Column (name = "creat_by") String privado creado; @DateTimeFormat (Pattern = "yyyy-mm-dd hh: mm: ss") @column (name = "create_date") Fecha privada createdDate; @Column (name = "Last_Modified_By") Cadena privada LastModifiedBy; @DateTimeFormat (patrón = "yyyy-mm-dd hh: mm: ss") @column (name = "last_modified_date") Fecha privada LastModifiedDate;La siguiente línea de código es resolver el problema de la excepción de Spring MVC cuando la entrada del parámetro es de tipo de fecha.
@DateTimeFormat (Pattern = "A yyyy-MM-DD HH: MM: SS")
prueba
Configuración del archivo de configuración Salida de configuración MyBatis SQL Registro
logging.level.com.iur DAO o paquete mapper = Debug
Realice la operación de inserción correspondiente para observar la consola
2018-03-06 17: 59: 22.612 DEBUG 6208 --- [NIO-8686-EXEC-1] XXXXX: ==> Ejecutación: Seleccionar uuid () 2018-03-06 17: 59: 22.629 Debug 6208 --- [NIO-8686-EXEC-1] xxxxx: <== Total: 12018-03-03-03-03-03-03-03-03 17: 59: 22.651 DEBUG 6208 --- [NIO-8686-EXEC-1] XXXXX: ==> Preparación: Insertar en el usuario ( Id, user_name, nick_name, pwd_salt, pwd_login, create_by, create_date, last_modified_by, last_modified_date, cuenta_type, cuenta_locked, online_status, group_id, group_name) valores (?,?,?,,?) 2018-03-03 17: 59: 22.665 6208 --- ---? [NIO-8686-EXEC-1] XXXXX: ==> Parámetros: 0b97ad1b-2125-11e8-9b42-704d7b7036d3 (cadena), 2 (cadena), 2018-01-01 01: 07: 05.0 (Timestamp), 2 (string), 2018-01-01-01 01: 07: 05.0 (marca de tiempo) 2018-03-06 17: 59: 22.670 DEBUG 6208 --- [NIO-8686-EXEC-1] XXXXX: <== Actualizaciones: 1
Puede ver que la operación de consultar el UUID se realiza primero, y luego se utiliza el resultado de la ejecución como la clave principal de la inserción.
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.