diff --git a/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/db/DbConfig.kt b/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/db/DbConfig.kt index c10dca34..52a36578 100644 --- a/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/db/DbConfig.kt +++ b/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/db/DbConfig.kt @@ -1,7 +1,9 @@ package com.mybatisflex.kotlin.db +import java.util.NoSuchElementException import kotlin.properties.ReadWriteProperty import kotlin.reflect.KProperty + /** * 数据库配置对象,暂时未启用 * @author 卡莫sama(yuanjiashuai) @@ -20,15 +22,16 @@ class IfNullVar(private var init: (() -> T)?) : ReadWriteProperty): T { - if (_value == null) { + if (_value == null && init != null) { synchronized(this) { if (_value == null) { - _value = init!!() + _value = init?.invoke() + //释放引用 init = null } } } - return this._value!! + return this._value?:throw NoSuchElementException() } override fun setValue(thisRef: Any?, property: KProperty<*>, value: T) { diff --git a/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/entry/Entry.kt b/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/entry/Entry.kt index 2e48c5e9..e24d8606 100644 --- a/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/entry/Entry.kt +++ b/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/entry/Entry.kt @@ -3,7 +3,7 @@ package com.mybatisflex.kotlin.entry import com.mybatisflex.core.dialect.DialectFactory import com.mybatisflex.core.table.TableInfoFactory import com.mybatisflex.core.util.ArrayUtil -import com.mybatisflex.kotlin.extend.db.DB +import com.mybatisflex.kotlin.extensions.db.DB import java.io.Serializable /** * 实体类父类,继承该类后将赋予实体简单增删改操作 diff --git a/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extend/db/DbExtend.kt b/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extensions/db/DbExtensions.kt similarity index 99% rename from mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extend/db/DbExtend.kt rename to mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extensions/db/DbExtensions.kt index ecde6b81..bc69eed6 100644 --- a/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extend/db/DbExtend.kt +++ b/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extensions/db/DbExtensions.kt @@ -1,4 +1,4 @@ -package com.mybatisflex.kotlin.extend.db +package com.mybatisflex.kotlin.extensions.db import com.mybatisflex.core.BaseMapper import com.mybatisflex.core.MybatisFlexBootstrap @@ -10,8 +10,8 @@ import com.mybatisflex.core.row.* import com.mybatisflex.core.table.TableDef import com.mybatisflex.core.table.TableInfoFactory import com.mybatisflex.core.transaction.Propagation -import com.mybatisflex.kotlin.extend.entry.filter -import com.mybatisflex.kotlin.extend.entry.toEntities +import com.mybatisflex.kotlin.extensions.entry.filter +import com.mybatisflex.kotlin.extensions.entry.toEntities import com.mybatisflex.kotlin.scope.QueryScope import com.mybatisflex.kotlin.scope.queryScope import java.util.function.BiConsumer diff --git a/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extend/entry/EntryExtend.kt b/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extensions/entry/EntryExtensions.kt similarity index 92% rename from mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extend/entry/EntryExtend.kt rename to mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extensions/entry/EntryExtensions.kt index c17321d8..5a26103c 100644 --- a/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extend/entry/EntryExtend.kt +++ b/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extensions/entry/EntryExtensions.kt @@ -1,4 +1,4 @@ -package com.mybatisflex.kotlin.extend.entry +package com.mybatisflex.kotlin.extensions.entry import com.mybatisflex.core.FlexConsts import com.mybatisflex.core.dialect.DialectFactory @@ -10,7 +10,7 @@ import com.mybatisflex.core.table.TableDef import com.mybatisflex.core.table.TableInfoFactory import com.mybatisflex.core.util.ArrayUtil import com.mybatisflex.kotlin.entry.Entry -import com.mybatisflex.kotlin.extend.db.DB +import com.mybatisflex.kotlin.extensions.db.DB import com.mybatisflex.kotlin.scope.QueryScope import java.util.Arrays @@ -49,9 +49,7 @@ inline fun TableDef.query( ) } -inline fun TableDef.all( - vararg columns: QueryColumn? -): List = DB.selectAll(schema, tableName).toEntities() +inline fun TableDef.all(): List = DB.selectAll(schema, tableName).toEntities() inline fun Collection.toEntities() = map { it to E::class.java }.toList() diff --git a/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extend/mapper/MaaperExtend.kt b/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extensions/mapper/MaaperExtensions.kt similarity index 93% rename from mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extend/mapper/MaaperExtend.kt rename to mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extensions/mapper/MaaperExtensions.kt index d14af29a..3b630a4b 100644 --- a/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extend/mapper/MaaperExtend.kt +++ b/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extensions/mapper/MaaperExtensions.kt @@ -1,4 +1,4 @@ -package com.mybatisflex.kotlin.extend.mapper +package com.mybatisflex.kotlin.extensions.mapper import com.mybatisflex.core.BaseMapper import com.mybatisflex.core.query.QueryCondition diff --git a/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extend/sql/SqlExtend.kt b/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extensions/sql/SqlExtensions.kt similarity index 97% rename from mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extend/sql/SqlExtend.kt rename to mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extensions/sql/SqlExtensions.kt index 3dc0e19b..00af55f0 100644 --- a/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extend/sql/SqlExtend.kt +++ b/mybatis-flex-kotlin/src/main/java/com/mybatisflex/kotlin/extensions/sql/SqlExtensions.kt @@ -1,4 +1,4 @@ -package com.mybatisflex.kotlin.extend.sql +package com.mybatisflex.kotlin.extensions.sql import com.mybatisflex.core.query.Joiner import com.mybatisflex.core.query.QueryColumn diff --git a/mybatis-flex-kotlin/src/test/java/com/mybatisflex/kotlintest/ExtensionTest.kt b/mybatis-flex-kotlin/src/test/java/com/mybatisflex/kotlintest/ExtensionTest.kt index fdffb2db..4033a732 100755 --- a/mybatis-flex-kotlin/src/test/java/com/mybatisflex/kotlintest/ExtensionTest.kt +++ b/mybatis-flex-kotlin/src/test/java/com/mybatisflex/kotlintest/ExtensionTest.kt @@ -1,19 +1,19 @@ package com.myba -import com.mybatisflex.kotlin.extend.entry.batchDeleteById +import com.mybatisflex.kotlin.extensions.entry.batchDeleteById import com.mybatisflex.core.BaseMapper import com.mybatisflex.core.MybatisFlexBootstrap import com.mybatisflex.core.audit.AuditManager import com.mybatisflex.core.audit.ConsoleMessageCollector import com.mybatisflex.kotlin.entry.Entry -import com.mybatisflex.kotlin.extend.db.DB -import com.mybatisflex.kotlin.extend.db.DB.filter -import com.mybatisflex.kotlin.extend.entry.all -import com.mybatisflex.kotlin.extend.entry.batchInsert -import com.mybatisflex.kotlin.extend.entry.batchUpdate -import com.mybatisflex.kotlin.extend.mapper.queryList -import com.mybatisflex.kotlin.extend.sql.* +import com.mybatisflex.kotlin.extensions.db.DB +import com.mybatisflex.kotlin.extensions.db.DB.filter +import com.mybatisflex.kotlin.extensions.entry.all +import com.mybatisflex.kotlin.extensions.entry.batchInsert +import com.mybatisflex.kotlin.extensions.entry.batchUpdate +import com.mybatisflex.kotlin.extensions.mapper.queryList +import com.mybatisflex.kotlin.extensions.sql.* import com.mybatisflex.kotlintest.entry.Account import com.mybatisflex.kotlintest.entry.table.AccountTableDef.ACCOUNT import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder