Préface
Cet article vous présente principalement le contenu pertinent sur Spring Boot Intégration MyBatis utilisant MySQL pour implémenter la clé principale UUID. Nous le partagerons pour votre référence et votre apprentissage. Je ne dirai pas beaucoup ci-dessous, jetons un coup d'œil à l'introduction détaillée ensemble.
accomplir
La partie pom.xml du projet de base est la suivante
<Properties> <java.version> 1.8 </java.version> </properties> <! - Hériter par défaut de Spring Boot -> <parent> <proupId> org.springframework.boot </proupId> BOOT BOOT-BOOT-BOOT-SPRING-BOOT-Starter-Parent </Retifactid> <version> 1.9.9.Release </ version> </ Parents> <! - Dependencies-> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <GroupId> org.springframework.boot </proupId> <ArtifactId> Spring-boot-starter-test </ artifactid> <ccope> test </cope> </dependency> <! - Fréquemment utilisée des bibliothèques> <dependency> <proupId> Commons-codec </proupId> <prefactive> Commons-Codec <GroupId> org.apache.commons </rompuprid> <Artifactid> Commons-Lang3 </lefactId> <Dersion> 3.6 </De version> </Dependency> <Dedency> <ProupID> com.google.guava </prouprid> <lefactid> Guava </ artifactid> <version> 23.0 </DERNIERSE> </DEFENDENCY> <dependency> <groupId> mysql </proncId> <Artifactid> mysql-connector-java </retifactid> <ccope> runtime </cope> </dependency> <! - Mybatis et plug-in dépendances -> <pedidency> <proupId> org.mybatis </proupId> <ArtifActid> Mybatis-Spring </ artiford> <version> 1.3.1 </ version> </ dépendance> <dependency> <groupId> org.mybatis </proncId> <ArtefactId> Mybatis </ artifactive> <version> 3.4.5 </ version> </Dedency> <Dedency> <proupId> Tk.mybatis </prôD> <ArtifActid> MAPPER </ARTIFACTID> </Dependency> <Dependency> <ProupId> com.github.pagehelper </rom grouped> <ArtifactId> PageHelper </Retifactid> <DERVIÈRE> 4.2.1 </ version> </Dependency> <! - Ali Fastjson Dependency -> <Dedency> <ProupID> com.alibaba </proupId> <ArtifActid> FastJson </ artifactid> <version> 1.2.44 </ version> </ dépendance> <! - Ali Druid Spring Boot Starter Dependency -> <Dependency> <GroupId> com.alibaba </prouvenid> <artifactId> Druid-Spring-Boot-Starter </ ArtifactId> <Dersion> 1.1.6 </Sease> </Dedency> </Dependants> </prot>
La configuration MyBatis spécifique est la suivante
@Bean public MappersCannerConfigurer MAPPERSCANNERCONFIGURER () {MAPPERSCANNERCONFIGURER MAPPERSCANNERCONFIGURER = NOUVEAU MAPPERScannerConfiger (); MappPerscannerConfigurer.SetsqlSessionFactoryBeanName ("SQLSessionFactoryBean"); MappPersCannerConfigurer.setBasePackage (MAPPER_PACKAGE); // Configurez un mappeur général, veuillez vous référer au document officiel pour Details Properties Properties = New Properties (); Properties.SetProperty ("Mappers", MAPPER_INTERFACE_REFENTE); Properties.SetProperty ("NotEmpty", "True"); // s'il faut déterminer le type de chaîne ,! = '', c'est-à-dire que ce soit pour ajouter et str! = '' Properties.Setproperty ("identité", "SELECT UUID ()"); // Utiliser UUID comme principale propriété. MAPPERScannerConfigurer.setProperties (propriétés); retour MAPPERScannerConfigurer; }L'entité est la suivante
classe publique User {@id @Column (name = "id") @generatedValue (Strategy = GenerationType.Identity) ID de chaîne privée; @Column (name = "Created_By") String privé CreatedBy; @DateTimeFormat (pattern = "yyyy-mm-dd hh: mm: ss") @column (name = "créé_date") Date privée créée CreatedDate; @Column (name = "last_modified_by") String privé LastModifiedBy; @DateTimeFormat (pattern = "yyyy-mm-dd hh: mm: ss") @column (name = "last_modified_date") Date privée lastmodifiedDate;La ligne de code suivante consiste à résoudre le problème de l'exception de Spring MVC lorsque l'entrée du paramètre est de type de date.
@DatetimeFormat (Pattern = "Yyyy-mm-dd HH: MM: SS")
test
Fichier de configuration Sortie de configuration MyBatis SQL Journal
logging.level.com.pour package DAO ou Mapper = Debug
Effectuer l'opération d'insertion correspondante pour observer la console
2018-03-06 17: 59: 22.612 DEBUG 6208 --- [NIO-8686-EXEC-1] xxxxx: ==> Exécution: SELECT UUID () 2018-03-06 17: 59: 22.629 DEBUG 6208 --- [NIO-8686-EXEC-1] XXXXX: 17: 59: 22.651 DEBUG 6208 --- [NIO-8686-EXEC-1] XXXXX: ==> Préparation: insérer dans l'utilisateur ( Id, user_name, nick_name, pwd_salt, pwd_login, créé_by, créé_date, last_modified_by, last_modified_date, account_type, account_locked, online_status, groupe_id, groupe_ [NIO-8686-EXEC-1] xxxxx: ==> Paramètres: 0b97ad1b-2125-11e8-9b42-704d7b7036d3 (String), 2 (String), 2018-01-01 01: 07: 05.0 (Timestamp), 2 (String), 2018-01-01 01: 07: 05.0 (horodat) 2018-03-06 17: 59: 22.670 Debug 6208 --- [Nio-8686-Exec-1] xxxxx: <== Mises à jour: 1
Vous pouvez voir que le fonctionnement de l'interrogation de l'UUID est d'abord effectué, puis le résultat de l'exécution est utilisé comme la clé principale de l'insertion est effectuée.
Résumer
Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article a une certaine valeur de référence pour l'étude ou le travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer. Merci pour votre soutien à wulin.com.