-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDB.kt
36 lines (29 loc) · 1.25 KB
/
DB.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package io.zeko.restapi.example
import io.vertx.core.Vertx
import org.slf4j.Logger
import io.vertx.kotlin.core.json.json
import io.vertx.kotlin.core.json.obj
import io.zeko.db.sql.connections.*
class DB {
private var vertx: Vertx
private var connPool: JasyncDBPool
// private var connPool2: HikariDBPool
// private var connPool3: VertxDBPool
private var dbLogger: DBLogger
constructor(vertx: Vertx, logger: Logger) {
this.vertx = vertx
val mysqlConfig = json {
obj(
"url" to "jdbc:mysql://localhost:3306/zeko_test?user=root&password=123456",
"max_pool_size" to 30
)
}
dbLogger = AppDBLog(logger).setParamsLogLevel(DBLogLevel.ALL)
connPool = JasyncDBPool(mysqlConfig)
// connPool2 = HikariDBPool(mysqlConfig)
// connPool3 = VertxDBPool(vertx, mysqlConfig)
}
suspend fun session(): DBSession = JasyncDBSession(connPool, connPool.createConnection()).setQueryLogger(dbLogger)
// suspend fun session2(): DBSession = HikariDBSession(connPool2, connPool2.createConnection()).setQueryLogger(dbLogger)
// suspend fun session3(): DBSession = VertxDBSession(connPool3, connPool3.createConnection()).setQueryLogger(dbLogger)
}