首页
学习
活动
专区
圈层
工具
发布

浅谈Slick(4)- Slick301:我的Slick开发项目设置

前面几篇介绍里尝试了一些Slick的功能和使用方式,看来基本可以满足用scala语言进行数据库操作编程的要求,而且有些代码可以通过函数式编程模式来实现。...Slick把jdbc api集成到scala编程语言里,能够支持多种数据库。也就是说Slick提供了多种数据库的驱动api。...先试试用最传统的依赖注入方式:传入参数来注入这个数据库驱动依赖,把代码放在src/main/scala/model/TableDefs.scala里: 1 package com.bayakala.learn.slick301...我们在需要src/main/scala/config/AppConfig.scala里定义依赖界面trait DBConfig: 1 package com.bayakala.learn.slick301...我们在src/main/scala/main/Main.scala里测试运算DAOs里的query action: 1 package com.bayakala.learn.slick301.main

2.5K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    浅谈Slick(1)- 基本功能描述

    Slick的主要目的是使关系数据库能更容易、更自然的融入函数式编程模式,它可以使使用者像对待scala集合一样来处理关系数据库表。也就是说可以用scala集合的那些丰富的操作函数来处理库表数据。...Slick把数据库编程融入到scala编程中,编程人员可以不需要编写SQL代码。我把Slick官方网站上Slick3.1.1文档的Slick介绍章节中的一些描述和例子拿过来帮助介绍Slick的功能。...scala.concurrent.duration._ 4 val db = Database.forURL("jdbc:h2:mem:demo", driver="org.h2.Driver")...5 //> db : slick.driver.H2Driver.backend.DatabaseDef = slick.jdbc.JdbcBackend$DatabaseDef@1a5b6f42...54 import scala.concurrent.duration._ 55 val db = Database.forURL("jdbc:h2:mem:demo", driver="org.h2

    95770

    细谈Slick(5)- 学习体会和将来实际应用的一些想法

    回顾我学习Slick的目的,产生了许多想法,觉着应该从实际的工作应用角度把我对Slick目前能够达到的目的以及在现有功能优势和特点下如何进一步改进才能正真符合IT系统对数据库程序编程和运行效率的要求。...首先谈谈Slick的特点:主体方面Slick为函数式编程模式带来了SQL编程,可以把数据库表当作scala语言中的集合来对待。...另一方面与同是基于jdbc之上的通用ORM库比较,Slick可以实现更高效率的关系表数据提取。 Slick实现函数组合部分主要分两个层次:一是Query组合:即把多个Query组成一个Query。...是了,Slick把jdbc的resultset隐藏起来了。其目的可以理解:这样可以实现语法安全(type safety),才能把SQL编程融入FP编程,即scala集合编程。...library)分享给scala数据库编程的朋友使用。

    1.5K80

    Akka(27): Stream:Use case-Connecting Slick-dbStream & Scalaz-stream-fs2

    所以我们只能从小众心态来探讨如何改善Slick现状,希望通过与某些Stream库集成,在Slick FRM的基础上恢复一些人们熟悉的Recordset数据库光标(cursor)操作方式,希望如此可以降低...刚好,在这篇讨论里我们希望能介绍一些Akka-Stream和外部系统集成对接的实际用例,把Slick数据库数据载入连接到Akka-Stream形成streaming-dataset应该是一个挺好的想法。...* * When using a JDBC back-end, all `onNext` calls are done synchronously and the ResultSet...现在我们有了Reactive stream source,它是个akka-stream,该如何对接处于下游的scalaz-stream-fs2呢?...下面是本次示范的源代码: import slick.jdbc.H2Profile.api._ import com.bayakala.funda._ import api._ import scala.language.implicitConversions

    96650

    突破性能瓶颈:Scala爬虫的大规模数据处理方案

    你会发现用Scala写爬虫不仅性能强劲,代码结构还特别清晰!下面是一个完整的 Scala 爬虫教程,重点展示如何利用 Scala 的并发特性(特别是 Akka Actor 模型)构建高性能的网络爬虫。.../ 日志 "ch.qos.logback" % "logback-classic" % "1.2.11", // 数据库存储 (SQLite) "org.xerial" % "sqlite-jdbc..." % "3.36.0.3", "com.typesafe.slick" %% "slick" % "3.3.3", "com.typesafe.slick" %% "slick-hikaricp"...depth, replyTo) => context.log.info(s"Downloading: $url (depth: $depth)") // 使用...实现分布式爬虫4、JS渲染:集成Selenium或HtmlUnit处理JavaScript渲染的页面5、任务持久化:添加检查点机制,支持中断后恢复爬取总结这个教程展示了如何利用Scala和Akka构建一个高性能的并发网络爬虫

    11110

    Akka(35): Http:Server side streaming

    虽然在Http标准中描述了如何通过MultiPart消息类型进行批量数据的传输,但是这个标准涉及的实现细节包括数据内容描述、数据分段方式、消息数据长度计算等等简直可以立即令人却步。...Query读取数据库表内数据后转成Reactive-Publisher,然后把publisher转成Akka-Stream-Source,如下: object SlickDAO { import slick.jdbc.H2Profile.api...._ val dbConfig: slick.basic.DatabaseConfig[slick.jdbc.H2Profile] = slick.basic.DatabaseConfig.forConfig...de.heikoseeberger.akkahttpjson4s.Json4sSupport import org.json4s.jackson object SlickDAO { import slick.jdbc.H2Profile.api...._ val dbConfig: slick.basic.DatabaseConfig[slick.jdbc.H2Profile] = slick.basic.DatabaseConfig.forConfig

    95750

    FunDA(12)- 示范:强类型数据源 - strong typed data sources

    FunDA提出的解决方案是把FRM产生的静态集合转变成动态流(stream),流内元素代表数据行(data row),一个完整的数据流代表一连串的数据行。...我们将在下面几个章节进行FunDA功能的使用示范。     Slick运算Query返回的结果集合内的数据行类型一般是Tuple类型。因为无法使用字段名,是弱类型。...除了从方便使用角度考虑,还因为FunDA开发是基于Scala函数式编程模式的,静态类型系统(static type system)对类型要求比较严格,所以FunDA的数据流内元素必须是强类型的,大部分是...下面我们就示范一下如何把Slick的数据结果集合转变成强类型数据流: 从世界银行公开数据网站下载了一份美国州县空气质量报告原始数据,cvs格式的,30万条左右。导入h2数据库后作为示范数据。...下面是示范源代码: import slick.driver.H2Driver.api._ import com.bayakala.funda._ import API._ import scala.language.implicitConversions

    1.1K100

    FA10# 数据库组件功能设计点整理

    无论直接使用还是基于其二次开发或者自研,均值得研究。 1.ShardingSphere-JDBC 客户端直连数据库,分布式无中心化,主要针对java语言,数据库连接消耗多。...2.ShardingSphere-Proxy 客户端先连接到Proxy代理,通过代理连接数据库,能够跨语言,消耗数据库的连接数少(仅代理直接连接数据库),但是中心化风险点也主要在此。...https://github.com/apache/shardingsphere.git 备注:当前还是客户端直连数据库为主流,中心化的Proxy依然有公司采纳然占比依旧很少,至于Sidecar模式的大规模使用还在未来...Twitter Scala 版本: https://github.com/twitter-archive/snowflake/tree/scala_28 https://github.com/twitter-archive.../snowflake/releases/tag/snowflake-2010 雪花算法java版本参考: https://github.com/beyondfengyu/SnowFlake/blob/

    68930
    领券