9.1.3、Scala__scala的文件读写方式Source.fromFile,scala的JDBC驱动连接操作数据库

1、scala中文件读写

//1、Java中的文件读取
val fs = new FileReader("data/students.txt")
val br = new BufferedReader(fs)
var line: String = br.readLine()
while (line != null) {
    
    
  println(line)
  line = br.readLine()
}
println("*" * 60)

//2、Scala中文件读取
//Source读取文件
val source: BufferedSource = Source.fromFile(
"data/students.txt")
//返回一个迭代器
//迭代器只能遍历一次
val strings: Iterator[String] = source.getLines()
for (elem <- strings) {
    
    
  println(elem)
}
println("*"*62)

//3、优化,链式编程
for (elem <- Source.fromFile("data/students.txt").getLines()) {
    
    
  println(elem)
}
//4、链式编程,函数式编程
Source.fromFile("data/students.txt").getLines().foreach(println)

2、写文件就是FileWriter

3、使用JDBC连接数据库

Class.forName("com.mysql.jdbc.Driver")
val conn: Connection = DriverManager.getConnection("jdbc:mysql://master:3306/shuku", "root", "123456")
val sql: String = "select * from student where age>=?"
val statement: PreparedStatement = conn.prepareStatement(sql)
statement.setString(1, "23")
val res: ResultSet = statement.executeQuery()
    //变量名前面加了_需要加{
    
    }引用
while (res.next()) {
    
    
  val _id = res.getString("id")
  val _name = res.getString("name")
  val _age = res.getString("age")
  val _gender = res.getString("gender")
  val _clazz = res.getString("clazz")
  val str: String = s"${_id} ${_name} ${_age} ${_gender} ${_clazz}"
  println(str)
}
res.close()
statement.close()
conn.close()

猜你喜欢

转载自blog.csdn.net/nerer/article/details/121244384