scalikejdbc 学习笔记(1)
build.sbt:
import sbt._
import Process._
import Keys._ EclipseKeys.createSrc := EclipseCreateSrc.Default + EclipseCreateSrc.Resource lazy val commonSettings = Seq(
name := "ScalaLearning",
version := "1.0",
scalaVersion := "2.10.6"
) lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
libraryDependencies ++= Seq(
"org.scalikejdbc" %% "scalikejdbc" % "3.0.0",
"mysql" % "mysql-connector-java" % "5.1.40",
"ch.qos.logback" % "logback-classic" % "1.2.3",
"org.scalariform" %% "scalariform" % "0.1.8" )
)
import scalikejdbc._ object SimpleDemo {
def main(args: Array[String]): Unit = { Class.forName("com.mysql.jdbc.Driver") val url = "jdbc:mysql://192.168.1.151:3306/scalalearning?useUnicode=true&characterEncoding=UTF8"
val userName = "root"
val password = "12345" val settings = ConnectionPoolSettings(
initialSize = 5,
maxSize = 20,
connectionTimeoutMillis = 3000L,
validationQuery = "select 1 from dual") ConnectionPool.singleton(url, userName, password, settings) case class User(id: Int, name: String, age: Int) val allColumns = (rs: WrappedResultSet) => User(
id = rs.int("id"),
name = rs.string("name"),
age = rs.int("age")) val users: List[User] = DB readOnly { implicit session =>
SQL("select * from user limit 10").map(allColumns).list.apply()
} for(user <- users) {
println(user.id + "," + user.name + "," + user.age)
} }
}
运行结果:
[SQL Execution]
select * from user limit 10; (2 ms) [Stack Trace]
...
com.citi.scalikejdbc.SimpleDemo$$anonfun$2.apply(SimpleDemo.scala:29)
com.citi.scalikejdbc.SimpleDemo$$anonfun$2.apply(SimpleDemo.scala:28)
scalikejdbc.DBConnection$class.readOnly(DBConnection.scala:202)
scalikejdbc.DB.readOnly(DB.scala:60)
scalikejdbc.DB$$anonfun$readOnly$1.apply(DB.scala:175)
scalikejdbc.DB$$anonfun$readOnly$1.apply(DB.scala:174)
scalikejdbc.LoanPattern$class.using(LoanPattern.scala:18)
scalikejdbc.DB$.using(DB.scala:140)
scalikejdbc.DB$.readOnly(DB.scala:174)
com.citi.scalikejdbc.SimpleDemo$.main(SimpleDemo.scala:28)
com.citi.scalikejdbc.SimpleDemo.main(SimpleDemo.scala)
... 1,sky,20
2,bill,30
scalikejdbc 学习笔记(1)的更多相关文章
- scalikejdbc 学习笔记(5)
常用增删改查操作: import scalikejdbc._ import scalikejdbc.config._ object CommonOperation { def main(args: A ...
- scalikejdbc 学习笔记(4)
Batch 操作 import scalikejdbc._ import scalikejdbc.config._ object BatchOperation { def main(args: Arr ...
- scalikejdbc 学习笔记(3)
重用connection: package com.citi.scalikejdbc import scalikejdbc._ import scalikejdbc.config._ object C ...
- scalikejdbc 学习笔记(2)
使用scalikejdbc config (src\main\resources) # MySQL(dev) dev.db.default.driver="com.mysql.jdbc.Dr ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
随机推荐
- POJ-3686 The Windy's KM算法 拆点题
参考:https://blog.csdn.net/sr_19930829/article/details/40680053 题意: 有n个订单,m个工厂,第i个订单在第j个工厂生产的时间为t[i][j ...
- 2017 计蒜之道 初赛 第五场 UCloud 的安全秘钥(中等)
每个 UCloud 用户会构造一个由数字序列组成的秘钥,用于对服务器进行各种操作.作为一家安全可信的云计算平台,秘钥的安全性至关重要.因此,UCloud 每年会对用户的秘钥进行安全性评估,具体的评估方 ...
- Bytes类型
Bytes类型 一.定义 bytes类型是指一堆字节的集合,在python中以b开头的字符串都是bytes类型. b'\xe5\xb0\x8f\xe7\x8c\xbf\xe5\x9c\x88' ''' ...
- happen before 原则
并发一直都是程序开发者绕不开的难题,在上一篇文章中我们知道了导致并发问题的源头是 : 多核 CPU 缓存导致程序的可见性问题.多线程间切换带来的原子性问题以及编译优化带来的顺序性问题. 原子性问题我们 ...
- Mysql之zip格式的安装
Mysql之zip格式的安装 一.配置环境变量 首先,我新建一个文件夹,将其改名为MySQL Sever 5.6,其路径为D:\Program Files (x86)\MySQL\MySQL Seve ...
- Java多线程(十三):线程池
线程池类结构 1.Executor是顶级接口,有一个execute方法. 2.ExecutorService接口提供了管理线程的方法. 3.AbstractExecutorService管理普通线程, ...
- 修改和编译spring源码,构建jar(spring-context-4.0.2.RELEASE)
上周在定位问题时,发现Spring容器实例化Bean的时候抛出异常,为了查看更详细的信息,决定修改spring-context-4.0.2.RELEASE.jar中的CommonAnnotationB ...
- Java 教程 (Java 对象和类)
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例(对象不是找个女朋友 ...
- mybatis if判断两个值是否相等存在的坑啊
1.使用“==”比较 字符类型 的值 用“==”比较的使用场景: 不管你用的什么类型的变量,只要变量的值是字符类型就用“==” 产生原因: 在mybatis中如果<if>标签用一个“=”判 ...
- nfs 存储服务
今日内容: NFS 1.什么是nfs? network file system 网络文件系统 nfs共享存储 2.nfs能干什么? nfs 能为 不同主机系统之间 实现 文件的共享 3.为什么要使用n ...