com.skillw.pouvoir.api.feature.database.sql.IPouTable.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of Pouvoir Show documentation
Show all versions of Pouvoir Show documentation
Bukkit Script Engine Plugin.
package com.skillw.pouvoir.api.feature.database.sql
import taboolib.module.database.*
import javax.sql.DataSource
/**
* IPouTable Pou表
*
* 为了使用TLib6的database模块而生的一个接口
*
* 对应着sql数据库中的一张表 可以对表进行所有相关操作
*
* @param T Host类型
* @param E ColumnBuilder类型
* @constructor Create empty I pou table
*/
interface IPouTable, E : ColumnBuilder> {
/** 表名 */
val name: String
/** 列名 */
val columns: ArrayList
/** Primary key for legacy */
val primaryKeyForLegacy: ArrayList
/** 数据源 */
val dataSource: DataSource
/**
* 添加列
*
* @param name 列名
* @param func 处理
* @return
* @receiver
*/
fun column(name: String? = null, func: E.() -> Unit): Table
/**
* 选取数据
*
* @param func 选取操作
* @return 结果
* @receiver
*/
fun select(func: ActionSelect.() -> Unit): ResultProcessorList
/**
* 寻找数据
*
* @param func 寻找操作
* @return 结果
* @receiver
*/
fun find(func: ActionSelect.() -> Unit): Boolean
/**
* 更新数据
*
* @param func 更新操作
* @return
* @receiver
*/
fun update(func: ActionUpdate.() -> Unit): Int
/**
* 删除数据
*
* @param func 删除操作
* @return
* @receiver
*/
fun delete(func: ActionDelete.() -> Unit): Int
/**
* 插入操作
*
* @param keys 列名表(若为空则一一对应表的列名)
* @param func 插入操作
* @return
* @receiver
*/
fun insert(vararg keys: String, func: ActionInsert.() -> Unit): Int
/**
* 工作空间
*
* @param func 处理
* @return 结果
* @receiver
*/
fun workspace(func: ExecutableSource.() -> Unit): ResultProcessorList
/** 关闭数据源 */
fun close()
/** 创建当前PouTable对应的表 */
fun createTable()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy