scala 读取操作
1. 读文件
object FileApp {
def main(args: Array[String]): Unit = {
val lines = Source.fromFile("data/input/ck").getLines()
for(line <- lines){
println(line)
}
}
}
2. 读控制台
/**
* 读取控制台
*/
object scannerApp {
def main(args: Array[String]): Unit = {
val scanner = new Scanner(System.in)
val str = scanner.nextLine()
println(" ======== " + str)
val line = StdIn.readLine("请输入数据: ")
println(" ======== " + line)
}
}
3. scala like jdbc
pom
<dependency>
<groupId>org.scalikejdbc</groupId>
<artifactId>scalikejdbc_2.12</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.scalikejdbc</groupId>
<artifactId>scalikejdbc-config_2.12</artifactId>
<version>3.4.0</version>
</dependency>
application.conf
# JDBC settings
db.default.driver="com.mysql.jdbc.Driver"
db.default.url="jdbc:mysql://hadoop001:3306/"
db.default.user="root"
db.default.password=""
# Connection Pool settings
db.default.poolInitialSize=10
db.default.poolMaxSize=20
db.default.ConnectionTimeoutMillis=1000
# Connection Pool settings
db.default.poolInitialSize=5
db.default.poolMaxSize=7
db.default.poolConnectionTimeoutMillis=1000
package com.hpznyf.rw
import scalikejdbc.{DB, SQL}
import scalikejdbc.config.DBs
object ScalikeJDBCApp {
def main(args: Array[String]): Unit = {
DBs.setupAll()
transaction()
}
//插入
def insert(): Unit ={
DB.autoCommit{ implicit session =>{
SQL("insert into dept(deptno, dname, loc) values(?,?,?)")
.bind("50","MANONG","LUOSANGE")
.update().apply()
}
}
}
//删除
def delete(): Unit ={
DB.autoCommit( implicit session => {
SQL("DELETE FROM dept WHERE deptno=?")
.bind(40)
.update().apply()
})
}
//更新
def update(): Unit ={
DB.autoCommit( implicit session => {
SQL("UPDATE dept set deptno=? where dname=? and loc=?")
.bind("60","MANONG","LUOSANGE")
.update().apply()
})
}
//读取
def query(): Unit ={
val members = DB.readOnly {
implicit session => {
SQL("SELECT * FROM dept")
.map(rs =>
member(
rs.int("deptno"),
rs.string("dname"),
rs.string("loc")
)
).list().apply()
}
}
members.foreach(println)
}
case class member(deptno:Int, dname:String, loc:String)
//事务
def transaction(): Unit ={
DB.localTx( implicit session => {
SQL("UPDATE dept set deptno=? where dname=? and loc=?")
.bind("60","MANONG","LUOSANGE")
.update().apply()
})
DB.localTx( implicit session => {
SQL("UPDATE dept set deptno=? where dname=? and loc=?")
.bind("50","OPRATIONS","BOSTON")
.update().apply()
})
}
}