mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-06 16:48:24 +08:00
feat: Extensions for Kotlin
This commit is contained in:
parent
7278337ec3
commit
d5d3664174
@ -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<T : Any>(private var init: (() -> T)?) : ReadWriteProperty<Any?,
|
||||
private var _value: T? = null
|
||||
|
||||
override fun getValue(thisRef: Any?, property: KProperty<*>): 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) {
|
||||
|
||||
@ -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
|
||||
/**
|
||||
* 实体类父类,继承该类后将赋予实体简单增删改操作
|
||||
|
||||
@ -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
|
||||
@ -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 <reified E> TableDef.query(
|
||||
)
|
||||
}
|
||||
|
||||
inline fun <reified E> TableDef.all(
|
||||
vararg columns: QueryColumn?
|
||||
): List<E> = DB.selectAll(schema, tableName).toEntities()
|
||||
inline fun <reified E> TableDef.all(): List<E> = DB.selectAll(schema, tableName).toEntities()
|
||||
|
||||
inline fun <reified E> Collection<Row>.toEntities() = map { it to E::class.java }.toList()
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user