Slick2 使用笔记(4) 与playframework交互(不使用插件)

本文来自:fair-jm.iteye.com 转截请注明出处

 

这里简单说下slick2和playframework2在不使用插件情况下的整合 

其实这是种不太好的行为 毕竟让两者分离了..

 

 

实际使用还是用连接池比较好...嗯 下次补完 连接池还没配置过

先留个爆栈网的链接:

http://stackoverflow.com/questions/15534777/connection-pooling-in-slick

 

 

 

为了方便还是采取先设计好数据库 然后再使用代码生成器来生成实体的做法

关于代码生成器 看第三篇笔记:

http://fair-jm.iteye.com/blog/2064063

具体的使用代码:

import mysql_sourceGen.MySQLSourceCodeGenerator

object model {
	def main(args:Array[String])={
	  MySQLSourceCodeGenerator.main(
	  Array[String]("scala.slick.driver.MySQLDriver", //slick的驱动 
	                "com.mysql.jdbc.Driver",  //驱动
	                "jdbc:mysql://localhost:3306/wcw_play", //数据库url 
	                """H:\wcw_sql""",  //存放生成实体的位置
	                "models",//包名
	                "root",//数据库用户名
	                "")    //数据库密码
	  )
	}
}

 不用把代码生成器放在项目内 这只是个工具 放在项目外比较好

 

 

生成的实体放入项目内

然后配置conf下的application.conf 我们在那里填写数据库的相关属性

db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost:3306/play_blog"
db.default.user=root
db.default.password=""

 因为是分隔的 所以slick对这些配置是不能像anorm那样直接感知的 

 我们需要写一个专门获取database的工具类让slick能得到连接:

package models

import scala.slick.jdbc.JdbcBackend.Database
import scala.slick.driver.MySQLDriver.simple._

object SlickDB {
   val database = Database.forURL(url = play.api.Play.current.configuration.getString("db.default.url").getOrElse(""),
      user = play.api.Play.current.configuration.getString("db.default.user").getOrElse(""),
      password = play.api.Play.current.configuration.getString("db.default.password").getOrElse(""),
      driver = play.api.Play.current.configuration.getString("db.default.driver").getOrElse(""))
      
}

 注意第二个导入的包和数据库相关 用什么数据库导入相关的slick的包

 

使用就很简单了 用SlickDB.database.withSession 或withTransaction 都可以

 

这边的做法不太好...下次试着用插件扩展一下这篇博文 现在内容很少 请见谅~ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值