DbLibX
- 通过 Kotlin Coroutine 自动异步操作数据库. 再也不用担心主线程卡死了
- 基于阿里巴巴的 Druid 连接池
- 简洁易操作的 API 接口
- 主要接口:
- createAction<R>(sql: kotlin.String, vararg args: kotlin.Any,
- noinline action: suspend (java.sql.PreparedStatement) -> R)
- 示例 1:
- val insertAction =
- createAction<Int>( // Kotlin 可以推断范型类型 此处 Int 可以省略
- "INSERT INTO wacban (player, violationId, violationDuration,
- violationType, checkType, time, extra)
- VALUES (?, ?, ?, ? ,? ,?, ?)", // SQL语句
- player, // 参数 1
- violationData.violationId, // 参数 2
- violationData.violationDuration, // 参数...
- violationData.violationType.toString(),
- violationData.getCheckType().getName(),
- violationData.time,
- violationData.extra) {
- it.executeUpdate() // 要执行的操作
- }
- insertAction.doAction() //返回操作状态
- 示例 2:
- val cacheHelperDataAction =
- createAction("select * from wachelper") { // 构造数据库操作
- val rs = it.executeQuery() // 执行query
- val result = ArrayList<String>()
- while (rs.next()) result.add(rs.getString("player")) // 获取数据
- result // 闭包返回
- }
- cacheBanDataAction.doAction() //执行操作并获取结果