亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人欧美在线观看| 国产精品av在线播放| 欧美日韩亚洲成人| 国产亚洲成av人片在线观看桃| 欧美成人国产va精品日本一级| 98精品国产高清在线xxxx天堂| 成人免费淫片aa视频免费| 亚洲一区二区三区xxx视频| 亚洲自拍另类欧美丝袜| 黄色精品在线看| 国产一区二区视频在线观看| 九九热在线精品视频| 91精品国产91久久久久久不卡| 国产成人精品免高潮费视频| 国产精品福利网| 欧美性少妇18aaaa视频| 亚洲欧美日韩精品久久| 欧美成人精品一区二区| 欧美中文在线观看国产| 91精品国产综合久久香蕉的用户体验| 黑人巨大精品欧美一区免费视频| 国产97在线观看| 中文字幕视频一区二区在线有码| 国产欧美一区二区白浆黑人| xvideos亚洲| 精品视频偷偷看在线观看| 日韩电影中文字幕在线观看| 亚洲男人7777| 欧美高跟鞋交xxxxxhd| 国产97在线|亚洲| 亚洲电影免费观看高清完整版在线观看| 国产丝袜视频一区| 91在线高清免费观看| 成人免费直播live| 性色av一区二区三区红粉影视| 亚洲国产高清高潮精品美女| 欧美自拍视频在线观看| 亚洲一区精品电影| 精品国产一区二区三区久久狼黑人| 日韩av黄色在线观看| 亚洲人线精品午夜| 91亚洲人电影| 欧美激情a在线| 亚洲女人天堂成人av在线| 日韩在线观看成人| 亚洲最新av在线| 搡老女人一区二区三区视频tv| 精品中文字幕视频| 中文字幕日韩免费视频| 欧美夫妻性生活视频| 久久久久国色av免费观看性色| 日本不卡免费高清视频| 精品国产一区二区三区久久狼黑人| 亚洲一区二区中文| 国产一区二区三区在线| 最新国产成人av网站网址麻豆| 亚洲男人天堂九九视频| 亚洲精品日韩av| 久久五月情影视| 国产精品成人va在线观看| 国产一区二区三区在线看| 亚洲成人网在线观看| 亚洲精品视频免费| 亚洲欧美另类在线观看| 国产精品jvid在线观看蜜臀| 日韩av123| 成人黄色片在线| 一区二区亚洲欧洲国产日韩| 一区二区三区亚洲| 亚洲精品一区中文字幕乱码| 亚洲精品中文字| 久久久久亚洲精品| 中文字幕精品www乱入免费视频| 国模私拍一区二区三区| 亚洲国产天堂网精品网站| 国产欧美一区二区三区久久| 疯狂蹂躏欧美一区二区精品| 久久夜精品va视频免费观看| 日韩av免费在线播放| 揄拍成人国产精品视频| 欧美一级成年大片在线观看| 亚洲人成电影在线| 久久久久女教师免费一区| 久久久久久91香蕉国产| 国产成人精品优优av| 欧美视频不卡中文| 亚洲第一精品福利| 日韩精品中文字幕在线播放| 亚洲娇小xxxx欧美娇小| 欧美精品aaa| 亚洲欧美精品suv| 亚洲欧美国产精品专区久久| 亚洲精品日韩丝袜精品| 97在线观看视频国产| 在线播放日韩专区| 精品欧美一区二区三区| 精品人伦一区二区三区蜜桃网站| 日韩av大片在线| 精品一区二区三区三区| 日韩高清免费观看| 欧美精品中文字幕一区| 97久久精品视频| 欧美一区二区三区四区在线| 最新69国产成人精品视频免费| 久久久精品电影| 国产精品视频一区国模私拍| 亚洲午夜精品久久久久久性色| 亚洲国产天堂久久综合| 午夜精品在线观看| 久久久久久综合网天天| 富二代精品短视频| 国产精品黄色av| 日韩电影大片中文字幕| 成人在线国产精品| 一本色道久久综合狠狠躁篇的优点| 国产精品直播网红| 最新日韩中文字幕| 国产精品av网站| 91网在线免费观看| 国产精品天天狠天天看| 91九色国产视频| 欧美色欧美亚洲高清在线视频| 136fldh精品导航福利| 国产精品大陆在线观看| 欧美午夜视频一区二区| 超碰日本道色综合久久综合| 日韩美女av在线免费观看| 最近2019中文字幕第三页视频| 国产中文字幕91| 国产成人一区二区三区小说| 欧美性xxxx极品hd欧美风情| 欧美日韩aaaa| 国产日韩欧美在线播放| 亚洲国产精品人久久电影| 亚洲精品aⅴ中文字幕乱码| 欧美日韩国产123| 久久久免费观看视频| 91精品国产综合久久香蕉922| 久久久综合免费视频| 国产成人精品优优av| 日韩精品黄色网| 亚洲欧美综合另类中字| 亚洲国产精品yw在线观看| 亚洲精品动漫100p| 中文字幕免费精品一区| 国产视频一区在线| 97在线日本国产| 4438全国成人免费| 5566成人精品视频免费| 久久久噜噜噜久久久| 精品国产一区二区在线| zzijzzij亚洲日本成熟少妇| 国产精品海角社区在线观看| 一区二区三区精品99久久| 91精品国产乱码久久久久久蜜臀| 热久久免费视频精品| 亚洲天堂av电影| 亚洲一区二区三区在线视频| 欧美黑人国产人伦爽爽爽| 狠狠色狠色综合曰曰| 91久久夜色精品国产网站| 国产裸体写真av一区二区| 国产欧美精品在线播放| www.欧美精品一二三区|