欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

scala数据库访问tool slick

程序员文章站 2022-05-16 13:41:31
...

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,示例代码:

package com.test

import scala.slick.driver.MySQLDriver.simple._
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource
import scala.slick.session.Database
import scala.slick.session.Session

object Supplier extends Table[(String,Int)]("test") {
	def name = column[String]("name")
	def age = column[Int]("age")
	
	def * = name ~ age
	
	def main(args: Array[String]) {
		val session = Sandbox.database
		val query = tableToQuery(Supplier)
		
		//查询
		//query.selectStatement
		
		//query.foreach(println(_))(session)
		
		//更新
//		val uq = Supplier.filter( p => p.name==="ricki").map(_.age)
//		
//		 uq.updateStatement
//		 
//		 uq.update(24)(session)
		//插入
		
//		val in = Supplier.name ~ Supplier.age
//		
//		in.insertStatement
//		
//		in.insert("cherry",1)(session)
		
		//删除
		
		val dq = Supplier.filter(_.name==="cherry")
		
		dq.deleteStatement
		
		dq.delete(session)
		
		session.close
	}
}

object Sandbox {
  
	def database:Session = {
	  val dataSource = new MysqlDataSource()
	  		dataSource.setUser("root")
	  		dataSource.setPassword("root")
	  		dataSource.setDatabaseName("test")
	  
	  val dataBase = Database.forDataSource(dataSource)
	  dataBase.createSession
	}
}

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

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