当前位置:Gxlcms > mysql > scala数据库访问toolslick

scala数据库访问toolslick

时间:2021-07-01 10:21:17 帮助过:66人阅读

Slick 是 TypeSafe 推出的 Scala 数据库访问库。开发者可以使用 Scala 语言风来编写数据查询,而不是用 SQL,示例代码: package com.testimport scala.slick.driver.MySQLDriver.simple._import com.mysql.jdbc.jdbc2.optional.MysqlDataSourceimport scala

Slick 是 TypeSafe 推出的 Scala 数据库访问库。开发者可以使用 Scala 语言风格来编写数据查询,而不是用 SQL,示例代码:

  1. package com.test
  2. import scala.slick.driver.MySQLDriver.simple._
  3. import com.mysql.jdbc.jdbc2.optional.MysqlDataSource
  4. import scala.slick.session.Database
  5. import scala.slick.session.Session
  6. object Supplier extends Table[(String,Int)]("test") {
  7. def name = column[String]("name")
  8. def age = column[Int]("age")
  9. def * = name ~ age
  10. def main(args: Array[String]) {
  11. val session = Sandbox.database
  12. val query = tableToQuery(Supplier)
  13. //查询
  14. //query.selectStatement
  15. //query.foreach(println(_))(session)
  16. //更新
  17. //
  18. val uq = Supplier.filter( p => p.name==="ricki").map(_.age)
  19. //
  20. //
  21. uq.updateStatement
  22. //
  23. //
  24. uq.update(24)(session)
  25. //插入
  26. //
  27. val in = Supplier.name ~ Supplier.age
  28. //
  29. //
  30. in.insertStatement
  31. //
  32. //
  33. in.insert("cherry",1)(session)
  34. //删除
  35. val dq = Supplier.filter(_.name==="cherry")
  36. dq.deleteStatement
  37. dq.delete(session)
  38. session.close
  39. }
  40. }
  41. object Sandbox {
  42. def database:Session = {
  43. val dataSource = new MysqlDataSource()
  44. dataSource.setUser("root")
  45. dataSource.setPassword("root")
  46. dataSource.setDatabaseName("test")
  47. val dataBase = Database.forDataSource(dataSource)
  48. dataBase.createSession
  49. }
  50. }

详情教程见官网:http://slick.typesafe.com/docs/

官方提供的第三方教程:http://mackler.org/LearningSlick/#id11540725

人气教程排行