Prefácio
Eu usei muito o JPA recentemente. Sinto -me desconfortável escrevendo SQL com o método XML da Mybatis. A definição de interface e o mapeamento são discretos em diferentes arquivos, tornando -se particularmente conveniente de ler.
Portanto, use a bota da primavera para integrar o mybatis e escrever SQL na anotação
Consulte "Meu primeiro aplicativo Kotlin"
Crie um projeto, introduza dependências no arquivo Build.gradle
Compile "org.mybatis.spring.boot: mybatis-spring-boot-starter: $ mybatis_version" compile "mysql: mysql-conector-java: $ mysql_version"
FILE COMPLETO Build.gradle
Grupo 'Name.quanke.kotlin'version' 1.0-SNAPSHOT'BuildScript {Ext.Kotlin_Version = '1.2.10' Ext.spring_boot_version = '1.5.4.release' ext.springfox_swagger2_version = '2.7.0' Ext.mysq_version '1.1.1' repositórios {mavencentral ()} dependências {classe "org.Jetbrains.kotlin: kotlin-gradle-plugin: $ kotlin_version" ClassPath ("org.springframework.boot: spring-boot-gradle-plugin: spring_ot_ot_ot_ot_boot" and sets all classes by default all classes to open class plugin classpath("org.jetbrains.kotlin:kotlin-noarg:$kotlin_version") classpath("org.jetbrains.kotlin:kotlin-allopen:$kotlin_version") }}apply plugin: 'kotlin'apply plugin: "kotlin-spring" // See https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-compiler-pluginapply plugin: 'org.springframework.boot'apply plugin: "kotlin-jpa" //https://stackoverflow.com/questions/32038177/kotlin-with-jpa-default-constructor-helljar {basename = 'capítulo "Org.Jetbrains.Kotlin: Kotlin-Stdlib-jre8: $ kotlin_version" compile ("org.jetbrains.kotlin: kotlin-reflect: $ {kotatlin_version}") compile "org.mybatis.spring.Boot: mybats-san") compile "gest-sybatis.spring.boot: mybats-sang-s) "MySQL: MySQL-Connector-Java: $ mysql_version" testCompile "org.springframework.boot: spring-boot-starter-test: $ spring_boot_version" testCompile "org.Jetbrains.kotlin: Kotlin-test-junit: $ kotlin" kotlin " kotlinoptions.jvmtarget = "1.8"} CompileTestkotlin {KotLinOptions.jvmtarget = "1.8"}Configure a conexão MySQL no arquivo Application.yml
Spring: DataSource: URL: JDBC: MySQL: // localhost: 3306/Teste Nome de usuário: Raiz Senha: 123456 Nome da classe de driver: com.mysql.jdbc.driver
Usando mybatis
Crie uma tabela de usuários em campos MySQL, incluindo ID (BigInt), Nome de usuário (Varchar) e Age (INT). Ao mesmo tempo, crie um usuário de objeto de mapeamento
Usuário da classe de dados (var id: long? = -1, var nome de usuário: string = "", val ada: int? = 0)
Crie operação UserMApper para UsermApper, para verificação subsequente de teste de unidade, implementar operações de inserção e consulta
Importar name.quanke.kotlin.chaper11_6_5.entity.userimport org.apache.ibatis.annotações.insertimport org.apache.ibatis.annotações.mapperimport org.apache.ibatis.annotações ou orgap.Apacheache.ibatis.AnTações.AnTações.ibatis.annotations ou orgap.acheache.ibatis.Antações.AnTações.iBatis.annotações ou orgap.Apacheache.ibatis.AnTações.AnTações.iBatis.annotações ou orgap.Apacheache.ibatis.Antações.AnTações.AnTações. http://quanke.name em 2018/1/11. */@MapperInterface UserMApper {@Select ("Selecione * do usuário onde o nome de usuário = #{nome de usuário}") FUNCHINGBYUSERNAME (@Param ("UserName") nome de usuário: string): list <suser> @insert ("inserir no usuário (userName)) valores ( #{username},}, {{{} {{{{{} {{{{{} {{{) String, @param ("senha") senha: string): int}Iniciar aula de inicialização da primavera
importar org.springframework.boot.springapplicationimport org.springframework.boot.autoconfigure.springbootapplication/*** Criado por http://quanke.name em 2018/1/9. */@SpringBootApplicationClass ApplicationFun Main (Args: Array <string>) {SpringApplication.run (Application :: Class.java, *args)} Teste de unidade
import name.quanke.kotlin.chaper11_6_5.repository.UserMapperimport org.apache.commons.logging.LogFactoryimport org.junit.Testimport org.junit.runner.RunWithimport org.springframework.boot.test.context.SpringBootTestimport org.springframework.test.context.junit4.springrunnerimport javax.annotation.resource/*** Criado por http://quanke.name em 2018/1/9. */@Runwith (springrunner :: classe) @springboottestclass ApplicationTests {val log = logFactory.getLog (ApplicationTests :: Class.java) !! @Resource LateInit var userMApper: UserMApper @test Fun `Mybatis teste" `() {Log.info (" Consulte o usuário do nome de usuário [quanke.name]: $ {usemerMapper.findbyuserName ("Quanke.name")})) [quanke]: $ {userMapper.findbyusername ("quanke")} ")}}}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.