本文来自:fair-jm.iteye.com 转截请注明出处
Slick2可以使用内置的Database(使用时导入对应数据库的对应的包
比如mysql是:import scala.slick.driver.MySQLDriver.simple._) 的 forURL方法(这个方法通过DriverManager来拿到连接 这个在前面的几个笔记里都有
还有forDriver是直接通过Driver来拿到连接)来拿到数据库连接
Slick2也可以通过forName(JNDI)和forConfig(通过配置)的方式拿到
这篇po要说的是forDataSource这个方法
/** * Create a Database based on a DataSource. */ def forDataSource(ds: DataSource): DatabaseDef = new DatabaseDef { def createConnection(): Connection = ds.getConnection }
这个DataSource类是:javax.sql.DataSource
这边简单说下使用数据源的方式
数据源我这里使用阿里的Druid 这个选用哪个是无所谓的 看个人爱好吧
习惯使用Spring xml方式配置dataSource的同学 可能会对在代码上配置感到陌生 但其实也挺简单的
配置代码如下:
package infrastructure import com.alibaba.druid.pool.DruidDataSource import javax.sql.DataSource sealed class DS(val config: DataSourceConfig) { private val dataSource = new DruidDataSource conf(config) def get: DataSource = { sync(!dataSource.isInited(), dataSource.init(), dataSource) dataSource } def close = { sync(dataSource.isInited(), dataSource.close(), dataSource) } private def sync(test: => Boolean, op: => Unit, lock: AnyRef) = { if (test) lock.synchronized { if (test) op } } private def conf(config: DataSourceConfig): Unit = { dataSource.setUrl(config.url) dataSource.setUsername(config.name) dataSource.setPassword(config.password) dataSource.setInitialSize(config.initSize) dataSource.setMinIdle(config.minIdle) dataSource.setMaxActive(config.maxActive) dataSource.setValidationQuery(config.validateQuery) } } object DS { val _lock = new Object val db = new DS(new MyDataSourceConfig) def apply() = { _lock.synchronized { db.get } } def apply(conf: DataSourceConfig) = { _lock.synchronized { db.conf(conf) db.dataSource.restart() db.get } } } trait DataSourceConfig { def url: String def name: String def password: String def initSize: Int = 1 def minIdle: Int = 1 def maxActive: Int def validateQuery = "select 'x'" } class MyDataSourceConfig extends DataSourceConfig { def url = "jdbc:mysql://localhost:3306/cqrs" def name = "root" def password = "" def maxActive = 10 }
关于以上几个参数 可以参考druid的github
使用也很简单:
Database.forDataSource(DS()).withSession { implicit session => q.list }
相关推荐
A simple guide, packed with tutorials that ease you into learning about the Slick game workflow and Slick game library. Who this book is written for If you are a game programmer who would like to ...
用顺手一年多的SlickEdit配置,配置文件是是升级到2019版本后打包出来的,包括增加自定义快捷键,主题配色字体,窗口布局,右键菜单等各种方面。除了一两个噪点外,个人使用的感觉非常好。
非本人原创,原有说明基于老版本的slickedit和MDK,在此作者使用最新版本的工具做了重新编辑并验证通过。...使用一个简单的工程来演示slickedit2018中编译MDK5项目。里面有详细的说明文档和工程代码
slick-pg, PostgreSQL扩展扩展 pg 用于PostgreSQL的扩展扩展,支持一系列pg数据类型和相关运算符/函数。目前支持的pg类型:ARRAY日期/时间Enum范围HstoreLTreeJSONinet/macaddrtext 搜索
slick2d-maven.zip,slick2d库使用示例slick2d gava游戏开发库的七个发行版
slickedit 的一些使用技巧,帮助开发者快速掌握silkedit工具
文档里整理了slickedit使用四年多来的技巧和相关设置。
前前后后修改用了一两个月,基本稳定使用的配置文件!这个是Linux下配置文件,Windows系统导入时有一些错误。windows开发环境多用的少,懒得去改,要用的自己修改,切记 使用方法:tool->options->Export/Import ...
随着使用,发现还是有些地方不甚满意(越是好用的工具,我们要求的反而越多撒-_-|||) 废话不多说,标记: 之前采用Vc6.0模拟器,现因在做android用多了Eclipse,于是就改用Eclipse模拟器啦~用不惯的别下了,里面有很...
我的SlickEdit17配置文件,部分设置更符合开发人员的使用感受。
简单配置Slick Edit V21,让眼睛看得更舒服,编程变得更快捷和方便。
SlickEdit_2009使用,very good!
slickedit 17.0.2 windows版的配置文件
解压方法step 1三个文件合成一个cat slickedit_linux_32bit.tar.gz.a* >slickedit.tar.gz step 2 tar xzvf slickedit.tar.gz slickedit 2014 v19 linux 32位版的 已经和谐了,step1:解压后执行vsinst安装,安装过程...
slickedit2010_win slickedit2010_win
钓鱼女孩,使用 Slick 2d 的简单钓鱼游戏。 文件 Fishing-Girl-master.zip 包含以下条目。 .classpath/*w w w . j a va 2s . com*/ .gitignore .project .settings/org.eclipse.jdt.core.prefs OpenAL32.dll data/...
slickedit 16.0.0.3 绿色 破解版,自己做的,非常方便,运行.\config\start_slickedit16.bat即可,生成的配置也在.\config下
slickedit 17.0.2 linux vs_exe 覆蓋即可
slickedit 17.0.0.8安装包及其破解文件(linux 64位系统) ...slickedit 官网已更新到17.0.2, 目前没有破解文件。 网上的17.0.0.8安装包基本找不到, 我这里有备份,其中包含破解文件。 文件太多, 我分成两个压缩包。
如果有使用slickedit來開發BIOS, 一些副檔案無法高亮度字型,例如*.dec, *.dsc, *.fdf, *.uni, *.vfr, 導入此語法可以幫助BIOS工程師更容易review source code 順便提供ACPI裡面的ASL code的高亮度語法