发布于 2015-02-24 00:54:46 | 511 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Scala 教程,程序狗速度看过来!

Scala 编程语言

可伸缩的语言是一种多范式的编程语言,一种类似java的编程 ,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala是在JVM上运行。


可伸缩的语言是一种多范式的编程语言,一种类似java的编程 ,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala是在JVM上运行。

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

object Coffees extends Table[(String, Int, Double)]("COFFEES") {
  def name = column[String]("COF_NAME", O.PrimaryKey)
  def supID = column[Int]("SUP_ID")
  def price = column[Double]("PRICE")
  def * = name ~ supID ~ price
}
Coffees.insertAll(
  ("Colombian", 101, 7.99),
  ("Colombian_Decaf", 101, 8.99),
  ("French_Roast_Decaf", 49, 9.99)
) 
val q = for {
  c <- Coffees if c.supID === 101
  // ^ comparing Rep[Int] to Rep[Int]!
} yield (c.name, c.price)
 
println(q.selectStatement)
 
q.foreach { case (n, p) => println(n + ": " + p) }

Scala Slick 3.0.0 RC1 发布,源代码现已提供在:https://github.com/slick/slick/tree/3.0.0-RC1。Scala 2.10 (推荐 2.10.4) 和 2.11 (推荐 2.11.4) 构建现已提供在 Maven Central。

Slick 3.0 主要特性:

  • A new API for composing and executing database actions.

  • Support for the Reactive Streams API for streaming results from the database.

  • Improved configuration of database connections via Typesafe Config, including built-in support for HikariCP.

  • Support for nested Option types and non-primtive Option types in the Lifted Embedding.

  • Properly typed outer join operators based on the improved Option support.

  • A new macro-based implementation of the Plain SQL API with optional compile-time checking and type inference for embedded SQL statements.

  • Many small improvements and bug fixes in the schema code generator.

  • Optional multi-line formatting and indenting of generated SQL code for more readable debug output.

更新了大部分手册;“Slick Testkit” 和 “Plain SQL Queries” 章节将会尽快更新;将会尽快提供标准 Activator 模板。

如果没有发现什么重大问题,将会在后两周发布 Slick 3.0.0 最终版本!

Slick 2.1.0 以来的完整改进列表:

  • bd0c9c4 Try to prevent some spurious failures on Travis CI

  • 58a1db9 Proper treatment of CHAR(1) columns in JdbcModelBuilder:

  • 7f0f62f Make code generator tests usable from other slick-extensions:

  • 25370cb Fix bugs detected by Slick Extensions upgrade:

  • 12faf5d Upgrade to Reactive Streams 1.0.0.RC3

  • 648184c Package structure and project layout refactoring:

  • 9c730c0 Upgrade to Reactive Streams 1.0.0.RC2:

  • 24770de Add DatabaseConfig as a higher-level configuration abstraction:

  • 759cbc2 Restore #$ support in the macro-based Plain SQL interpolation:

  • 62ddadc Macro-based PlainSQL API Implemented TypedStaticQuery as tsql

  • d63a018 UUID regression testkit:

  • 0a44b74 Update LiftedEmbedding.scala

  • 5af0d9b Distinguish between BLOB and BYTEA in PostgreSQL model builder

  • ec7f2aa Use TestDB for code generator tests:

  • cc8d3f0 Proper support for string lengths:

  • 41c717a Support fetch size in statement parameters.

  • 965604c Use force-insert semantics for inserting from queries and expressions.

  • 0e58e7d Deprecate the Direct Embedding

  • 0ba0dd5 Remove the blocking API that was introduced in 3.0.0-M1

  • 2f64c79 Rename Action to DBIO:

  • 86974bd Simplify SQLBuilder and formatting/indenting:

  • 20378ec Quote SqlType argument in code generator.

  • b1dca21 Make ColumnOptions more modular:

  • 7272180 Use unconstrained text type as default on PostgreSQL

  • 6cec3f7 Prefer prepareStatement(sql) instead of prepareStatement(sql, Int, Int)

  • a3eec4f Support transaction isolation levels

  • 6ea7fdb Generic fusion implementation for FlatMapAction and CleanupAction:

  • 706f2b1 Allow the SQL statements to be overridden in SqlActions.

  • a325f5e Run a user-defined init function on all created JDBC Statements

  • 3315a3b Refactoring of ActionContext:

  • dc687de Avoid long nested sequences of SchemaDescription.++ in generated code:

  • 62d5e92 Quote illegal identifiers in generated Scala sources.

  • 58c4ed5 Make ‘desiredColumnOrder’ in code generator non-final.

  • a645205 Support statement parameters in the new Action-based API.

  • b1c5b66 Switch JDBC metadata API and code generator to the new API.

  • c92a615 Fix typo in orm-to-slick.rst

  • d4f019f Move profile-level Action definitions outside of profiles.

  • 5cd423f Deprecate Invoker convenience methods and iteratees

  • 7d576c8 Properly deprecate .Implicit and .simple in all profile levels

  • 30c135e Upgrade to sbt 0.13.7

  • e9274ec Improve build system for documentation:

  • a6e3b9b Further modularization of Slick:

  • 4ab4a6b Switch Direct Embedding over to the new Action-based API.

  • ac37f1c Update documentation for 3.0:

  • e6562c7 Simplify Action Effect handling:

  • 06d1ca0 Increase timeout for Reactive Streams TCK tests.

  • efbe6f6 Bump version numbers:

  • 4d42528 Add concurrency stress test for streaming API:

  • 80929a6 Documentation plus minor improvements and fixes:

  • 273b957 Update to Reactive Streams 1.0.0.M3 and fix remaining PR review issues:

  • 688d7f2 Convert more test cases and add missing features:

  • d862e0f Optimize the streaming engine and fix some bugs:

  • 9ad62a9 Implement streaming via Reactive Streams API:

  • 6a85767 Convert several test cases to the new API.

  • 8ef6cde Add basic transaction support for database actions.

  • 09590fd Implement session pinning for database Actions:

  • 66a9b41 Basic implementation of action monad and asynchronous execution engine:

  • bf17772 Use HikariCP by default (instead of no connection pooling):

  • 4569c52 Simplify connection pool configuration

  • cc92c26 Simplify thread pool configuration:

  • 423e78c Remove the option to disable auto-commit for new connections.

  • e4dddcd Remove BoneCP support and drop configuration compatibility with Play.

  • 812100e Add HikariCP support in addition to BoneCP.

  • bb58103 Add primitives and configuration for async execution of blocking I/O

  • 0ea777a Fix broken build due to merging nested options support

  • 8d4a02f Ensure generated file ends with a newline character.

  • 9cdf7ec Make comment format match others in file.

  • ef5f9a8 Avoid indenting blank lines, to avoid trailing whitespace.

  • 8225a8f Add Option-extended joins:

  • 75583dc Lifted Embedding encoding of nested and multi-column Option types:

  • de389a4 Remove the Column type.

  • 5da96b4 Update orm-to-slick.rst

  • 7a1d119 modified to use GlobalConfig.

  • 777dbeb Add SimpleLiteral factory (and fix one unrelated unchecked warning)

  • 82b258f Use Unicode symbols in tree and table dumps for better readability.

  • f54d272 Add BoneCP support to Database.forConfig.

  • 369ad73 Use application.conf for Slick settings.

  • 61d032b Corrected docs to use “inSet” instead of “inSeq”

  • b0b0252 Fix forceInsertAll for single argument

  • 770d0a1 Update build for 2.2.0-SNAPSHOT

  • cb8183d Added support for string function repeat.

  • 57aa9e7 Workaround to pass Travis CI.

  • 7a58f7f Try for SQL String Indentation.

更多改进内容请看发行说明



历史版本 :
Scala 2.12.4 发布,编译时间再减少 5-10%
Scala 2.12.3 发布,多范式编程语言
Scala Native 0.3.0 发布,将 Scala 代码编译成本机代码
Scala Native 0.2.0 发布,将 Scala 代码编译成本机代码
Scala 2.12.1 发布,多范式编程语言
编程语言 Scala 2.12.0 正式版发布
编程语言 Scala 2.12.0-M3 发布
编程语言 Scala 2.10.6 发布
编程语言 Scala 2.12.0-M2 发布,要求 Java 8
编程语言 Scala 2.11.7 发布
编程语言 Scala 2.12.0-M1 发布
编程语言 Scala 2.10.5 发布
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务