Prefácio
Este artigo apresenta principalmente o conteúdo relevante sobre a Spring Boot que integra MyBatis usando o MySQL para implementar a chave primária UUID. Vamos compartilhar isso para sua referência e aprendizado. Não vou dizer muito abaixo, vamos dar uma olhada na introdução detalhada juntos.
concluir
A parte Pom.xml do projeto básico é a seguinte
<Properts> <nava.version> 1.8 </java.version> </Properties> <!-herdar os padrões da bota da primavera-> <airment> <puriDId> org.springframework.boot </groupid> <stifactId> spring-spring-starter-parent </artefactid> <susers> 1.5.5.5.5.50 </spring> spring-spring-starter-parent </artefactid> <versão <versão> 1.5.. Dependências-> <pendency> <voundid> org.springframework.boot </frupiD> <TRATIFACTID> Spring-boot-starter-web </artifactId> </dependency> <PependEncy> <purrentId> org.springframework.boot </grupo> <ArtifactId> spring-BoTtar-BoTBer- <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> <PuerpId> org.apache.commons </frupid> <stifactId> Commons-lang3 </stifactId> <versão> 3.6 </version> </dependency> <pendency> <puperid> com.google.guava </Groupid> <TarifactId> GUAVA </ArtifactId> <ergers> </versão </versão </versão </versão> </versão </versão </versifty> <brafactId> gobava </ArtifactId> <bourl> </versão </versão </versão </versão </rroupid> <TifactId> <Depencency> <GrupId> mysql </frugiD> <TRAFACTID> mysql-conector-java </stutifactId> <cope> runtime </scope> </dependency> <!-mybatis e dependências plug-in-> <pendency> <roupid> myrg.mybatis </grupo <brugId> artiftIf-> <pendency> <roupid> myrg.mybatis </grunhido> Artiftftiftf-> <pendency> <roupid> myrg.mybatis </grupo <brugId> artiftiftiftiftIf-> <pendency> <roupid> myrg.mybatis </grupo <brugId> artiftiftIf-> <pendency> <groupid> myrg. <Version> 1.3.1 </sistER> </dependency> <pendency> <puperid> org.mybatis </groupiD> <TRAFACTID> mybatis </artifactId> <versão 3.4.5 </version> </dependency> <pendency> <puperId> tk.mybatis </versus> <stifactId> mapper> </dependency> <pendency> <voupid> com.github.pagehelper </proupid> <stifactId> PageHelper </stutifactId> <versão> 4.2.1 </versão </dependency> <!-ali fastjson dependência-> <pendency> <purbumid> com.alibaba </cutriftid> <stestifact-> <version>1.2.44</version> </dependency> <!--Ali Druid Spring Boot Starter Dependency--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.6</version> </dependency> </dependencies></project>
A configuração específica do mybatis é a seguinte
@Bean público MAPPERSCANNERCONFIGURADOR MAPPERSCANNERCONFIGURADOR () {MAPPERSCANNERCONFIGURADOR MAPPERSCANNERCONFIGURADOR = new MappersCannerConfigurer (); MAPPPERSCANNERCONFIGURADOR.SETSQLSessionFactoryBeanName ("SQLSessionFactoryBean"); mapppersCannerConfigurer.SetBasePackage (mapper_package); // Configure um mapeador geral, consulte o documento oficial para obter detalhes Propriedades Propriedades = new Properties (); Properties.SetProperty ("Mappers", Mapper_Interface_Reference); Propriedades.SetProperty ("NotEmpty", "True"); // se deve determinar o tipo de sequência ,! = '', é, seja, se deve anexar e str! = '' Propriedades.setProperty ("identity", "select uuid ()"); // use uuid como as propriedades principais.SetProperty ("Order" "); MappersCannerConfigurer.SetProperties (Propriedades); Retornar MapperScannerConfigurer; }A entidade é a seguinte
public class Usuário {@id @column (name = "id") @generatedValue (estratégia = generationType.Identity) ID da sequência privada; @Column (name = "Created_by") private String criada por exemplo; @DateTeTimeFormat (padrony = "yyyy-mm-dd hh: mm: ss") @column (name = "criate_date") data privada criadaDate; @Column (name = "last_modified_by") private string lastModifiedby; @DateTeTimeFormat (padrony = "yyyy-mm-dd hh: mm: ss") @column (name = "last_modified_date") data privada lastModifiedDate;A seguinte linha de código é resolver o problema da exceção do MVC da primavera quando a entrada do parâmetro é do tipo de data.
@DateTeTimeFormat (padrony = "AAAA-MM-DD HH: MM: SS")
teste
Configuração da configuração Saída MyBatis SQL LOG
logging.Level.com.Ur DAO ou pacote de mapeador = Debug
Execute a operação de inserção correspondente para observar o console
2018-03-06 17: 59: 22.612 Debug 6208 --- [NIO-8686-EXEC-1] XXXXX: ==> Execução: selecione UUID () 2018-03-06 17: 59: 22.629 Debug 6208 --- [NIO-8686-Exec-1] 17: 59: 22.651 Debug 6208 --- [NIO-8686-EXEC-1] xxxxx: ==> Preparando: Inserir no usuário ( Id, user_name, nick_name, pwd_salt, pwd_login, criate_by, creted_date, last_modified_by, last_modified_date, account_type, account_locked, online_status, group_id, group_name) (?,?,?,?,?) 2010. [NIO-8686-EXEC-1] XXXXX: ==> Parâmetros: 0B97AD1B-2125-11E8-9B42-704D7B7036D3 (String), 2 (String), 2018-01-01 01: 07: 05.0 (TimeStamp), 2 (String), 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018), 2018, 2018, 2018, 2018, 2018, 2018, 2018: 01: 07: 05.0 (TimeStamp), 2 (String), 2018, 2018, 2018, 2018-01-01: 07: 05. 01: 07: 05.0 (Timestamp) 2018-03-06 17: 59: 22.670 Debug 6208 --- [NIO-8686-EXEC-1] xxxxx: <== Atualizações: 1
Você pode ver que a operação de consultar o UUID é realizada pela primeira vez e, em seguida, o resultado da execução é usado como a chave primária da inserção é realizada.
Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.