refacto: 合并方法添加注释

This commit is contained in:
kamosama 2023-08-08 09:06:05 +08:00
parent d5d3664174
commit e829a1d82b
3 changed files with 45 additions and 162 deletions

View File

@ -115,30 +115,15 @@ object DB {
return Db.insertBySql(sql, *args)
}
fun insertBatch(schema: String?, tableName: String?, rows: Collection<Row?>): IntArray {
return insertBatch(schema, tableName, rows, rows.size)
}
fun insertBatch(tableName: String?, rows: Collection<Row?>): IntArray {
return insertBatch(null as String?, tableName, rows, rows.size)
}
fun insertBatch(schema: String?, tableName: String?, rows: Collection<Row?>, batchSize: Int): IntArray {
fun insertBatch(schema: String?, tableName: String?, rows: Collection<Row?>, batchSize: Int = rows.size): IntArray {
return Db.insertBatch(schema, tableName, rows, batchSize)
}
fun insertBatch(tableName: String?, rows: Collection<Row>, batchSize: Int): IntArray {
return Db.insertBatch(tableName, rows)
}
fun insertBatchWithFirstRowColumns(schema: String?, tableName: String?, rows: List<Row?>?): Int {
return Db.insertBatchWithFirstRowColumns(schema, tableName, rows)
}
fun insertBatchWithFirstRowColumns(tableName: String?, rows: List<Row?>?): Int {
return Db.insertBatchWithFirstRowColumns(null as String?, tableName, rows)
}
fun deleteBySql(sql: String?, vararg args: Any?): Int {
return Db.deleteBySql(sql, *args)
}
@ -163,9 +148,6 @@ object DB {
return Db.deleteBatchByIds(schema, tableName, primaryKey, ids)
}
fun deleteBatchByIds(tableName: String?, primaryKey: String?, ids: Collection<*>?): Int {
return Db.deleteBatchByIds(null as String?, tableName, primaryKey, ids)
}
fun deleteByMap(schema: String?, tableName: String?, whereColumns: Map<String?, Any?>?): Int {
return Db.deleteByQuery(
@ -174,13 +156,6 @@ object DB {
)
}
fun deleteByMap(tableName: String?, whereColumns: Map<String?, Any?>?): Int {
return Db.deleteByQuery(
null as String?, tableName, QueryWrapper()
.where(whereColumns)
)
}
fun deleteByCondition(schema: String?, tableName: String?, condition: QueryCondition?): Int {
return Db.deleteByQuery(
schema, tableName, QueryWrapper()
@ -188,21 +163,11 @@ object DB {
)
}
fun deleteByCondition(tableName: String?, condition: QueryCondition?): Int {
return Db.deleteByQuery(
null as String?, tableName, QueryWrapper()
.where(condition)
)
}
fun deleteByQuery(schema: String?, tableName: String?, queryWrapper: QueryWrapper?): Int {
return Db.deleteByQuery(schema, tableName, queryWrapper)
}
fun deleteByQuery(tableName: String?, queryWrapper: QueryWrapper?): Int {
return Db.deleteByQuery(null as String?, tableName, queryWrapper)
}
fun updateBySql(sql: String?, vararg args: Any?): Int {
return Db.updateBySql(sql, *args)
}
@ -216,10 +181,6 @@ object DB {
return Db.updateById(schema, tableName, row)
}
fun updateById(tableName: String?, row: Row?): Int {
return Db.updateById(null as String?, tableName, row)
}
fun updateByMap(schema: String?, tableName: String?, data: Row?, whereColumns: Map<String?, Any?>?): Int {
return Db.updateByQuery(
schema, tableName, data, QueryWrapper()
@ -227,12 +188,6 @@ object DB {
)
}
fun updateByMap(tableName: String?, data: Row?, whereColumns: Map<String?, Any?>?): Int {
return Db.updateByQuery(
null as String?, tableName, data, QueryWrapper()
.where(whereColumns)
)
}
fun updateByCondition(schema: String?, tableName: String?, data: Row?, condition: QueryCondition?): Int {
return Db.updateByQuery(
@ -241,28 +196,14 @@ object DB {
)
}
fun updateByCondition(tableName: String?, data: Row?, condition: QueryCondition?): Int {
return Db.updateByQuery(
null as String?, tableName, data, QueryWrapper()
.where(condition)
)
}
fun updateByQuery(schema: String?, tableName: String?, data: Row?, queryWrapper: QueryWrapper?): Int {
return Db.updateByQuery(schema, tableName, data, queryWrapper)
}
fun updateByQuery(tableName: String?, data: Row?, queryWrapper: QueryWrapper?): Int {
return Db.updateByQuery(null as String?, tableName, data, queryWrapper)
}
fun updateBatchById(schema: String?, tableName: String?, rows: List<Row?>?): Int {
return Db.updateBatchById(schema, tableName, rows)
}
fun updateBatchById(tableName: String?, rows: List<Row?>?): Int {
return Db.updateBatchById(null as String?, tableName, rows)
}
fun <T> updateEntitiesBatch(entities: Collection<T>?, batchSize: Int): Int {
return Db.updateEntitiesBatch(entities, batchSize)
@ -282,15 +223,6 @@ object DB {
return Db.updateNumberAddByQuery(schema, tableName, fieldName, value, queryWrapper)
}
fun updateNumberAddByQuery(
tableName: String?,
fieldName: String?,
value: Number?,
queryWrapper: QueryWrapper?
): Int {
return Db.updateNumberAddByQuery(null as String?, tableName, fieldName, value, queryWrapper)
}
fun <M> executeBatch(
totalSize: Int,
batchSize: Int,
@ -309,18 +241,10 @@ object DB {
return Db.selectOneById(schema, tableName, row)
}
fun selectOneById(tableName: String?, row: Row?): Row {
return Db.selectOneById(null as String?, tableName, row)
}
fun selectOneById(schema: String?, tableName: String?, primaryKey: String?, id: Any?): Row {
return Db.selectOneById(schema, tableName, primaryKey, id)
}
fun selectOneById(tableName: String?, primaryKey: String?, id: Any?): Row {
return Db.selectOneById(null as String?, tableName, primaryKey, id)
}
fun selectOneByMap(schema: String?, tableName: String?, whereColumns: Map<String, Any>?): Row {
return Db.selectOneByQuery(
schema, tableName, QueryWrapper()
@ -328,12 +252,6 @@ object DB {
)
}
fun selectOneByMap(tableName: String?, whereColumns: Map<String, Any>?): Row {
return Db.selectOneByQuery(
null as String?, tableName, QueryWrapper().where(whereColumns).limit(1)
)
}
fun selectOneByCondition(schema: String?, tableName: String?, condition: QueryCondition?): Row {
return Db.selectOneByQuery(
schema, tableName, QueryWrapper()
@ -341,21 +259,10 @@ object DB {
)
}
fun selectOneByCondition(tableName: String?, condition: QueryCondition?): Row {
return Db.selectOneByQuery(
null as String?, tableName, QueryWrapper()
.where(condition).limit(1)
)
}
fun selectOneByQuery(schema: String?, tableName: String?, queryWrapper: QueryWrapper?): Row {
return Db.selectOneByQuery(schema, tableName, queryWrapper)
}
fun selectOneByQuery(tableName: String?, queryWrapper: QueryWrapper?): Row {
return Db.selectOneByQuery(null as String?, tableName, queryWrapper)
}
fun selectOneByQuery(queryWrapper: QueryWrapper?): Row {
return Db.selectOneByQuery(queryWrapper)
}
@ -401,21 +308,10 @@ object DB {
)
}
fun selectListByCondition(tableName: String?, condition: QueryCondition?, count: Int): List<Row> {
return Db.selectListByQuery(
null as String?, tableName, QueryWrapper()
.where(condition).limit(count)
)
}
fun selectListByQuery(schema: String?, tableName: String?, queryWrapper: QueryWrapper?): List<Row> {
return Db.selectListByQuery(schema, tableName, queryWrapper)
}
fun selectListByQuery(tableName: String?, queryWrapper: QueryWrapper?): List<Row> {
return Db.selectListByQuery(null as String?, tableName, queryWrapper)
}
fun selectListByQuery(queryWrapper: QueryWrapper?): List<Row> {
return Db.selectListByQuery(queryWrapper)
}
@ -424,9 +320,6 @@ object DB {
return Db.selectAll(schema, tableName)
}
fun selectAll(tableName: String?): List<Row> {
return Db.selectAll(null as String?, tableName)
}
fun selectObject(sql: String?, vararg args: Any?): Any {
return Db.selectObject(sql, *args)
@ -436,10 +329,6 @@ object DB {
return Db.selectObject(schema, tableName, queryWrapper)
}
fun selectObject(tableName: String?, queryWrapper: QueryWrapper?): Any {
return Db.selectObject(null as String?, tableName, queryWrapper)
}
fun selectObject(queryWrapper: QueryWrapper?): Any {
return Db.selectObject(queryWrapper)
}
@ -481,10 +370,6 @@ object DB {
return Db.selectCountByQuery(schema, tableName, queryWrapper)
}
fun selectCountByQuery(tableName: String?, queryWrapper: QueryWrapper?): Long {
return Db.selectCountByQuery(null as String?, tableName, queryWrapper)
}
fun selectCountByQuery(queryWrapper: QueryWrapper?): Long = Db.selectCountByQuery(queryWrapper)
@ -497,8 +382,12 @@ object DB {
): Page<Row> = Db.paginate(schema, tableName, Page(pageNumber, pageSize), QueryWrapper.create().where(condition))
fun paginate(tableName: String?, pageNumber: Int, pageSize: Int, condition: QueryCondition?): Page<Row> =
Db.paginate(tableName, pageNumber, pageSize, condition)
fun paginate(
tableName: String?,
pageNumber: Int,
pageSize: Int,
condition: QueryCondition?
): Page<Row> = Db.paginate(tableName, pageNumber, pageSize, condition)
fun paginate(
@ -508,11 +397,8 @@ object DB {
pageSize: Int,
totalRow: Int,
condition: QueryCondition?
): Page<Row> {
return Db.paginate(
schema, tableName, pageNumber, pageSize, totalRow, condition
)
}
): Page<Row> = Db.paginate(schema, tableName, pageNumber, pageSize, totalRow, condition)
fun paginate(
tableName: String?,
@ -530,8 +416,11 @@ object DB {
queryWrapper: QueryWrapper?
): Page<Row> = Db.paginate(schema, tableName, pageNumber, pageSize, queryWrapper)
fun paginate(tableName: String?, pageNumber: Int, pageSize: Int, queryWrapper: QueryWrapper?): Page<Row> =
Db.paginate(tableName, pageNumber, pageSize, queryWrapper)
fun paginate(tableName: String?,
pageNumber: Int,
pageSize: Int,
queryWrapper: QueryWrapper?
): Page<Row> = Db.paginate(tableName, pageNumber, pageSize, queryWrapper)
fun paginate(
schema: String?,
@ -540,10 +429,8 @@ object DB {
pageSize: Int,
totalRow: Int,
queryWrapper: QueryWrapper?
): Page<Row> {
return Db
.paginate(schema, tableName, pageNumber, pageSize, totalRow, queryWrapper)
}
): Page<Row> = Db.paginate(schema, tableName, pageNumber, pageSize, totalRow, queryWrapper)
fun paginate(
tableName: String?,
@ -551,35 +438,20 @@ object DB {
pageSize: Int,
totalRow: Int,
queryWrapper: QueryWrapper?
): Page<Row> {
return Db
.paginate(tableName, pageNumber, pageSize, totalRow, queryWrapper)
}
): Page<Row> = Db.paginate(tableName, pageNumber, pageSize, totalRow, queryWrapper)
fun paginate(schema: String?, tableName: String?, page: Page<Row?>?, queryWrapper: QueryWrapper?): Page<Row> {
return Db.paginate(schema, tableName, page, queryWrapper)
}
fun paginate(tableName: String?, page: Page<Row?>?, queryWrapper: QueryWrapper?): Page<Row> {
return Db.paginate(tableName, page, queryWrapper)
}
fun paginate(schema: String?, tableName: String?, page: Page<Row?>?, queryWrapper: QueryWrapper?): Page<Row> = Db.paginate(schema, tableName, page, queryWrapper)
fun tx(supplier: Supplier<Boolean?>?): Boolean {
return tx(supplier, Propagation.REQUIRED)
}
fun paginate(tableName: String?, page: Page<Row?>?, queryWrapper: QueryWrapper?): Page<Row> = Db.paginate(tableName, page, queryWrapper)
fun tx(supplier: Supplier<Boolean?>?, propagation: Propagation?): Boolean {
return Db.tx(supplier, propagation)
}
fun tx(supplier: Supplier<Boolean?>?): Boolean = tx(supplier, Propagation.REQUIRED)
fun <T> txWithResult(supplier: Supplier<T>?): T {
return txWithResult(supplier, Propagation.REQUIRED)
}
fun tx(supplier: Supplier<Boolean?>?, propagation: Propagation?): Boolean = Db.tx(supplier, propagation)
fun <T> txWithResult(supplier: Supplier<T>?, propagation: Propagation?): T {
return Db.txWithResult(supplier, propagation)
}
fun <T> txWithResult(supplier: Supplier<T>?): T =txWithResult(supplier, Propagation.REQUIRED)
fun <T> txWithResult(supplier: Supplier<T>?, propagation: Propagation?): T = Db.txWithResult(supplier, propagation)
}

View File

@ -1,7 +1,5 @@
package com.myba
import com.mybatisflex.kotlin.extensions.entry.batchDeleteById
import com.mybatisflex.core.BaseMapper
import com.mybatisflex.core.MybatisFlexBootstrap
import com.mybatisflex.core.audit.AuditManager
@ -9,12 +7,11 @@ import com.mybatisflex.core.audit.ConsoleMessageCollector
import com.mybatisflex.kotlin.entry.Entry
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.entry.*
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
import com.mybatisflex.kotlintest.entry.table.AccountTableDef.ACCOUNT
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType
@ -35,30 +32,44 @@ fun main() {
.addMapper(AccountMapper::class.java)
.setDataSource(dataSource)
.start()
filter<Account> {
ACCOUNT.AGE `=` 12 or
`if`(true) { ACCOUNT.ID `in` listOf(1, 2) }
}.stream().peek(::println).peek { it.id = it.id!!.plus(2) }.forEach(Entry::save)
}.stream().peek(::println).peek { it.id = it.id.plus(2) }.forEach(Entry::save)
//使用表对象filter或者DB对象有两个泛型的filter方法时方法体内this为表对象无需XXX.AA调用直接AA
ACCOUNT.filter<Account,AccountTableDef> {
AGE `=` 12 or
`if`(true) { ID `in` listOf(1, 2) }
}.stream().peek(::println).peek { it.id = it.id.plus(2) }.forEach(Entry::save)
println("保存后————————")
DB.mapper<AccountMapper>().findByAge(18,1,2).stream().peek { println(it) }.forEach(Entry::deleteById)
println("删除后————————")
ACCOUNT.all<Account>().stream().peek { println(it) }.map { it.userName = "sa"
it }.forEach(Entry::update)
println("更新后————————")
ACCOUNT.all<Account>().stream().peek { println(it) }.map {
it.id = it.id!!.plus(5)
it.id = it.id.plus(5)
it.userName = "423423"
it }.toList().batchInsert()
println("批量插入后————————")
ACCOUNT.all<Account>().stream().peek { println(it) }.toList().filter { it.id!!.rem(2) == 0 }.batchDeleteById()
println("批量删除后————————")
ACCOUNT.all<Account>().stream().peek { println(it) }.toList().filter { it.id!!.rem(3) == 0 }.map { it.userName = "哈哈"
//使用DB对象查询时无需指定from表
DB.query<Account> {from(ACCOUNT)}.stream().peek { println(it) }.toList().filter { it.id!!.rem(3) == 0 }.map { it.userName = "哈哈"
it }.batchUpdate()
println("批量更新后————————")
ACCOUNT.all<Account>().stream().forEach { println(it) }
//使用表对象查询时无需指定from表
ACCOUNT.query<Account> {}.forEach(::println)
}
//接口里面写方法时打这个注解才能生成Default方法否则会单独生成一个类导致报错
@JvmDefaultWithCompatibility
interface AccountMapper : BaseMapper<Account> {

View File

@ -14,7 +14,7 @@ import java.util.*
*/
@Table(value = "tb_account", onUpdate = [NoneListener::class])
data class Account(
@Id var id: Int?,
@Id var id: Int,
@Column("u_name") var userName: String?,
var age: Int?,
var birthday: Date?,