From f3f0df24143ba2804470e59491f8488033fbeb97 Mon Sep 17 00:00:00 2001 From: Zhou Tianxing Date: Fri, 13 Sep 2024 10:31:24 +0800 Subject: [PATCH] update: DbExtensions.kt --- .../main/kotlin/extensions/db/DbExtensions.kt | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/mybatis-flex-kotlin-extensions/src/main/kotlin/extensions/db/DbExtensions.kt b/mybatis-flex-kotlin-extensions/src/main/kotlin/extensions/db/DbExtensions.kt index ec772fa..c6ec631 100644 --- a/mybatis-flex-kotlin-extensions/src/main/kotlin/extensions/db/DbExtensions.kt +++ b/mybatis-flex-kotlin-extensions/src/main/kotlin/extensions/db/DbExtensions.kt @@ -79,6 +79,36 @@ val KClass.baseMapperOrNull: BaseMapper? get() = runCatching { baseMapper }.getOrNull() // query----------- +/** + * 根据主键查询一条数据 + * @param id 主键值 + */ +inline fun queryOneById(id: Serializable): E? { + val baseMapper = E::class.baseMapperOrNull + return if (baseMapper != null) { + baseMapper.selectOneById(id) + } else { + E::class.tableInfo.let { + Db.selectOneById(it.schema, it.tableName, id) + }?.toEntity(E::class.java) + } +} + +/** + * 根据主键查询一组数据 + * @param ids 主键值 + */ +inline fun queryListByIds(vararg ids: Serializable): List { + val baseMapper = E::class.baseMapperOrNull + return if (baseMapper != null) { + baseMapper.selectListByIds(ids.asList()) + } else { + E::class.tableInfo.let { + ids.mapNotNull { id -> Db.selectOneById(it.schema, it.tableName, ids)?.toEntity(E::class.java) } + } + } +} + /** * 通过条件查询一条数据 * @param columns 查询的列 @@ -502,4 +532,4 @@ inline fun insert(entity: E): Int = E::class.baseMapperOrNull?.insert(entity) ?: E::class.tableInfo.let { Db.insert(it.schema, it.tableName, entity.toRow()) - } \ No newline at end of file + } -- Gitee