From 549d4ea5980c7f0289034d35a3a56a82a24813f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=81=82=E7=A7=8B=E8=8D=A3?= Date: Fri, 1 Nov 2024 16:40:16 +0800 Subject: [PATCH] =?UTF-8?q?Kotlin=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=BB=98=E8=AE=A4=E6=96=B9=E6=B3=95=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mybatis-plus-spring/build.gradle | 12 ++++++++++-- .../mybatisplus/test/kotlin/ChainWrappersTest.kt | 9 +++++++++ .../baomidou/mybatisplus/test/kotlin/UserMapper.kt | 13 ++++++++++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/mybatis-plus-spring/build.gradle b/mybatis-plus-spring/build.gradle index 443438f9e..6e47b15eb 100644 --- a/mybatis-plus-spring/build.gradle +++ b/mybatis-plus-spring/build.gradle @@ -1,7 +1,15 @@ apply plugin: 'kotlin' -compileKotlin{ - kotlinOptions.jvmTarget = "1.8" +compileKotlin { + kotlinOptions { + jvmTarget = "1.8" + } +} + +compileTestKotlin { + kotlinOptions { + freeCompilerArgs = ['-Xjvm-default=all'] + } } dependencies { diff --git a/mybatis-plus-spring/src/test/kotlin/com/baomidou/mybatisplus/test/kotlin/ChainWrappersTest.kt b/mybatis-plus-spring/src/test/kotlin/com/baomidou/mybatisplus/test/kotlin/ChainWrappersTest.kt index f4e80fde1..49b99238c 100644 --- a/mybatis-plus-spring/src/test/kotlin/com/baomidou/mybatisplus/test/kotlin/ChainWrappersTest.kt +++ b/mybatis-plus-spring/src/test/kotlin/com/baomidou/mybatisplus/test/kotlin/ChainWrappersTest.kt @@ -38,6 +38,15 @@ class ChainWrappersTest : BaseDbTest() { Assertions.assertEquals(4, Db.ktQuery(User::class.java).eq(User::id, 2).one().roleId) } + @Test + fun testDefaultMethod() { + doTestAutoCommit(fun(m) { + Assertions.assertEquals("hello baomidou!", m.hello()) + Assertions.assertNotNull(m.findById(1)) + Assertions.assertNull(m.findById(-1)) + }) + } + @Test fun testSetSql() { Assertions.assertTrue( diff --git a/mybatis-plus-spring/src/test/kotlin/com/baomidou/mybatisplus/test/kotlin/UserMapper.kt b/mybatis-plus-spring/src/test/kotlin/com/baomidou/mybatisplus/test/kotlin/UserMapper.kt index 4d9aad7b9..0f0eb41e9 100644 --- a/mybatis-plus-spring/src/test/kotlin/com/baomidou/mybatisplus/test/kotlin/UserMapper.kt +++ b/mybatis-plus-spring/src/test/kotlin/com/baomidou/mybatisplus/test/kotlin/UserMapper.kt @@ -1,5 +1,16 @@ package com.baomidou.mybatisplus.test.kotlin import com.baomidou.mybatisplus.core.mapper.BaseMapper +import com.baomidou.mybatisplus.extension.kotlin.KtQueryWrapper -interface UserMapper : BaseMapper +interface UserMapper : BaseMapper { + + fun hello(): String { + return "hello baomidou!"; + } + + fun findById(id: Int): User? { + return selectOne(KtQueryWrapper(User::class.java).eq(User::id, id)); + } + +}