مقدمة
لقد استخدمت JPA كثيرًا مؤخرًا. أشعر بعدم الارتياح كتابة SQL مع طريقة XML MyBatis. تعريف الواجهة ورسم الخرائط منفصلان في ملفات مختلفة ، مما يجعله غير مناسب للقراءة بشكل خاص.
لذلك ، استخدم Boot Spring لدمج MyBatis وكتابة SQL في التعليق التوضيحي
الرجوع إلى "تطبيق Kotlin الأول"
إنشاء مشروع ، قدم تبعيات في ملف build.gradle
compile "org.mybatis.spring.boot: mybatis-spring-boot-starter: $ mybatis_version" compile "mysql: mysql-connector-java: $ mysql_version"
أكمل ملف build.gradle
المجموعة '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 ' Mavencentral ()} التبعيات {classpath "org.jetbrains.kotlin: Kotlin-rgrle-plugin: $ kotlin_version" classpath ("org.springframewework. لفتح Plugin Classpath ("org.jetbrains.kotlin: kotlin-noarg: $ kotlin_version") classpath ("org.jetbrains.kotlin https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-compiler-pluginapply: 'org.springframework.boot'apply plugin: "kotlin-jpa" //https://stackoverflow.com/questions/32038177/kotlin-with-jpa-default-constructor-helljar {baseName = 'uncaptive11-6-5-service' version = '0.1.0'} Repositories {mavencentral () "org.jetbrains.kotlin: Kotlin-Stdlib-Jre8: $ kotlin_version" compile ("org.jetbrains.kotlin: kotlin-reflect: $ {kotlin_version}") compile "org.mybatis.spring.boot: mybatis-spring-starter: $ mybatis. "mysql: mysql-connector-java: $ mysql_version" testcompile "org.springframework.boot: spring-boot-starter-typ: $ spring_boot_version" testcompile "org.jetbrains.kotlin = "1.8"} compiletestkotlin {kotlinoptions.jvmtarget = "1.8"}تكوين اتصال MySQL في ملف Application.YML
الربيع: DataSource: URL: JDBC: mysql: // localhost: 3306/test username: root password: 123456 driver-class-name: com.mysql.jdbc.driver
باستخدام mybatis
قم بإنشاء جدول مستخدم في MySQL ، بما في ذلك معرف (BigInt) ، اسم المستخدم (Varchar) ، والحقول Age (int). في الوقت نفسه ، قم بإنشاء مستخدم كائن رسم الخرائط
مستخدم فئة البيانات (معرف var: طويل؟ = -1 ، var username: string = "" ، Val Age: int؟ = 0)
إنشاء عملية usermapper ل usermapper ، للتحقق من اختبار الوحدة اللاحقة ، وتنفيذ عمليات الإدراج والاستعلام
استيراد 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.annotations.paramimport. بواسطة http://quanke.name في 2018/1/11. */@mapPerInterface usermapper {select ("حدد * من المستخدم حيث اسم المستخدم = #{username}") متعة findByUserName (param ("username") username: string). اسم المستخدم: سلسلة ، param ("كلمة المرور") كلمة المرور: سلسلة): int}ابدأ فئة التمهيد الربيع
استيراد org.springframework.boot.springapplicationimport org.springframework.boot.autoconfigure.springbootapplication/** ** ** ** تم إنشاؤها بواسطة http://quanke.name في 2018/1/9. */@springbootapplicationClass ApplicationFun Main (args: Array <string>) {SpringApplication.run (Application :: class.java ، *args)} اختبار الوحدة
استيراد name.quanke.kotlin.chaper11_6_5 org.springframework.test.context.junit4 */@RunWith (SpringRunner :: class) springBootTestClass ApplicationTests {val log = logfactory.getLog (ApplicationTests :: class.java) !! @resource lateinit var usermapper: usermapper test fun `test myBatis test" `() {log.info (" Query user with username [quanke.name]: $ {usermapper.findbyusername ("quanke.name")} ") usermapper.insert ( اسم المستخدم [Quanke]: $ {usermapper.findbyusername ("quanke")} ")}}لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون لمحتوى هذه المقالة قيمة مرجعية معينة لدراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل. شكرا لك على دعمك إلى wulin.com.