// Created on savesnippets.com · https://savesnippets.com/gHp1beQ9pCiD76 // build.gradle.kts: // implementation("org.jetbrains.exposed:exposed-core:0.45.+") // implementation("org.jetbrains.exposed:exposed-jdbc:0.45.+") import org.jetbrains.exposed.sql.* import org.jetbrains.exposed.sql.transactions.transaction // Schema object Users : Table("users") { val id = integer("id").autoIncrement() val name = varchar("name", 255) val email = varchar("email", 255).uniqueIndex() val createdAt = long("created_at") override val primaryKey = PrimaryKey(id) } fun main() { Database.connect( "jdbc:postgresql://localhost/myapp", driver = "org.postgresql.Driver", user = "user", password = "secret", ) transaction { SchemaUtils.create(Users) // INSERT — get the generated id val newId = Users.insert { it[name] = "Alice" it[email] = "a@x.com" it[createdAt] = System.currentTimeMillis() } get Users.id // SELECT Users.select { Users.email like "%@x.com" } .forEach { row -> println("${row[Users.id]} ${row[Users.name]}") } // UPDATE Users.update({ Users.id eq newId }) { it[name] = "Alyce" } } }