国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Spring Boot + Kotlin整合MyBatis的方法教程

2024-07-13 10:17:16
字體:
來源:轉載
供稿:網友

前言

最近使用jpa比較多,再看看mybatis的xml方式寫sql覺得不爽,接口定義與映射離散在不同文件中,使得閱讀起來并不是特別方便。

因此使用Spring Boot去整合MyBatis,在注解里寫sql

創建項目,在build.gradle文件中引入依賴

compile "org.mybatis.spring.boot:mybatis-spring-boot-starter:$mybatis_version"compile "mysql:mysql-connector-java:$mysql_version"

完整的build.gradle文件

group '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.mysql_version = '5.1.21' ext.mybatis_version = '1.1.1' repositories {  mavenCentral() } dependencies {  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"  classpath("org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_version")//  Kotlin整合SpringBoot的默認無參構造函數,默認把所有的類設置open類插件  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 = 'chapter11-6-5-service' version = '0.1.0'}repositories { mavenCentral()}dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" compile("org.jetbrains.kotlin:kotlin-reflect:${kotlin_version}") compile "org.mybatis.spring.boot:mybatis-spring-boot-starter:$mybatis_version" compile "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_version"}compileKotlin { kotlinOptions.jvmTarget = "1.8"}compileTestKotlin { kotlinOptions.jvmTarget = "1.8"}

在application.yml文件中配置mysql的連接

spring: datasource: url: jdbc:mysql://localhost:3306/test username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver

使用MyBatis

在Mysql中創建User表,包含id(BIGINT)、username(VARCHAR)、age(INT)字段。同時,創建映射對象User

data class User(var id: Long? = -1, var username: String = "", val age: Int? = 0)

創建User映射的操作UserMapper,為了后續單元測試驗證,實現插入和查詢操作

import name.quanke.kotlin.chaper11_6_5.entity.Userimport org.apache.ibatis.annotations.Insertimport org.apache.ibatis.annotations.Mapperimport org.apache.ibatis.annotations.Paramimport org.apache.ibatis.annotations.Select/** * Created by http://quanke.name on 2018/1/11. */@Mapperinterface UserMapper { @Select("SELECT * FROM USER WHERE USERNAME = #{username}") fun findByUserName(@Param("username") username: String): List<User> @Insert("INSERT INTO USER(USERNAME, PASSWORD) VALUES(#{username}, #{password})") fun insert(@Param("username") username: String, @Param("password") password: String): Int}

啟動 Spring Boot 類

import org.springframework.boot.SpringApplicationimport org.springframework.boot.autoconfigure.SpringBootApplication/** * Created by http://quanke.name on 2018/1/9. */@SpringBootApplicationclass Applicationfun main(args: Array<String>) { SpringApplication.run(Application::class.java, *args)}

單元測試

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/** * Created by http://quanke.name on 2018/1/9. */@RunWith(SpringRunner::class)@SpringBootTestclass ApplicationTests { val log = LogFactory.getLog(ApplicationTests::class.java)!! @Resource lateinit var userMapper: UserMapper @Test fun `MyBatis test"`() {  log.info("查詢用戶名為【quanke.name】的用戶:${userMapper.findByUserName("quanke.name")}")  userMapper.insert("quanke", "123")  log.info("查詢用戶名為【quanke】的用戶:${userMapper.findByUserName("quanke")}") }}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 十堰市| 彭水| 清新县| 雷波县| 南城县| 无棣县| 亳州市| 张掖市| 泰宁县| 瑞丽市| 嘉荫县| 合江县| 无极县| 繁昌县| 义马市| 云阳县| 金川县| 武定县| 阜平县| 锡林郭勒盟| 常州市| 贵港市| 齐齐哈尔市| 临颍县| 凉城县| 翁源县| 关岭| 扶沟县| 新宾| 黑河市| 介休市| 怀宁县| 和政县| 香河县| 凤城市| 房产| 汉川市| 大埔区| 寿宁县| 榆林市| 根河市|