Skip to content

ImKujio/KSql

Repository files navigation

基础用法

@Serializable
data class User(
    val name: String,
    val age: Int
){
    companion object : Table()
}

val newItem = User(name="小明",age=18)

User.insert(newItem)
User.update(newItem){"id = ${+it.id}"}
User.delete{"id = ${+id}"}

val items:List<Item> = User.find{"id = ${+id}"}

额外用法

val entries = mapOf(
    "id" to 1
    "name" to "xiaoming"
    "age" to 20
).entries
val insertSql = sql{"insert into users"}
insertSql.and{"(${join(entries,","){e -> "${+e.key}"}})"}
insertSql.and{"values(${join(entries,","){e -> "${+e.value}"}})"}
insertSql.exec()


val fields = listOf("id","name","age")
val age = 18
val name: String? = ""

val querySql = sql{"select ${join(fields,","){ e -> "${+e}" }}"}
querySql.and{"from users where age > ${+age}"}
querySql.and{"${on(name != null){ "and name like ${+"%$name%"}" }}"}
val item = querySql.query{row -> Item.form(row)}

About

Jdbc增强工具,支持灵活的构建复杂Sql和简单增删改,支持自定义类型序列化器

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages