使用scalikejdbc config (srcmain esources)
# MySQL(dev) dev.db.default.driver="com.mysql.jdbc.Driver" dev.db.default.url="jdbc:mysql://192.168.1.151:3306/scalalearning?useUnicode=true&characterEncoding=UTF8" dev.db.default.user="root" dev.db.default.password="12345" # Connection Pool settings dev.db.default.poolInitialSize=5 dev.db.default.poolMaxSize=7 dev.db.default.poolConnectionTimeoutMillis=1000 dev.db.default.poolValidationQuery="select 1 as one" # MySQL(prod) prod.db.default.driver="com.mysql.jdbc.Driver" prod.db.default.url="jdbc:mysql://192.168.1.151:3306/scalalearning?useUnicode=true&characterEncoding=UTF8" prod.db.default.user="root" prod.db.default.password="12345" # Connection Pool settings prod.db.default.poolInitialSize=5 prod.db.default.poolMaxSize=7 prod.db.default.poolConnectionTimeoutMillis=1000 prod.db.default.poolValidationQuery="select 1 as one"
import scalikejdbc._ import scalikejdbc.config._ object ConfigDemo { def main(args: Array[String]): Unit = { DBsWithEnv("dev").setupAll() case class User(id: Int, name: String, age: Int) val allColumns = (rs: WrappedResultSet) => User( id = rs.int("id"), name = rs.string("name"), age = rs.int("age")) val users: List[User] = DB readOnly { implicit session => SQL("select * from user limit 10").map(allColumns).list.apply() } for (user <- users) { println(user.id + "," + user.name + "," + user.age) } DBsWithEnv("dev").closeAll() } }