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)); + } + +}