scala IO 连接Jdbc

IO:

复制代码
package scala

import java.io.{BufferedReader, BufferedWriter, FileReader, FileWriter}

import scala.io.{BufferedSource, Source}

object Demo7IO {
  def main(args: Array[String]): Unit = {
    /**
      * 文件读写
      * */
    //使用java方式
    //在scala里面默认异常抛出
    val fileReader = new FileReader("data/students.txt")
    //缓冲流
    val bufferedReader = new BufferedReader(fileReader)
    //读取第一行
    var line: String = bufferedReader.readLine()
    while (line!=null){
      println(line)

    //读取下一行
    line =bufferedReader.readLine()
  }
    bufferedReader.close()
    println("=" * 100)
    /**
      * 使用scala读数据
      * */
    val source: BufferedSource = Source.fromFile("data/students.txt")
    /**
      * 迭代器:
      * 只能迭代一次
      * */
    //获取所有行 ,得到一个迭代器
    val lines: Iterator[String] = source.getLines()
    for (line <- lines) {
      println(line)
    }
    //链式调用
    val iterator: Iterator[String] = Source.fromFile("data/students.txt").getLines()
  /**
    * 保存数据使用java
    * 输出流
    */
    val bufferedWriter = new BufferedWriter(new FileWriter("data/out"))
    for (line <- iterator) {
      bufferedWriter.write(line)
      bufferedWriter.newLine()
      bufferedWriter.flush()
    }

    bufferedWriter.close()

  }
}
复制代码

Jdbc  :连接数据库  (先打开虚拟机,连上xhell,然后连接mysql)

复制代码
package scala

import java.sql.{Connection, DriverManager, PreparedStatement, ResultSet}

class Demo8Jdbc {
  def main(args: Array[String]): Unit = {
   //加载驱动
    Class.forName("com.mysql.jdbc.Driver")

   //创建连接
    val conn: Connection = DriverManager.getConnection("jdbc:mysql://master:3306/student","root","123456")

    //执行sql 查询数据

    val stat: PreparedStatement = conn.prepareStatement("select * from student ")
    //执行查询返回结果有
    val resultSet: ResultSet = stat.executeQuery()

    //解析数据
    while (resultSet.next()){
      //通过字段名去数据
      val id: Int = resultSet.getInt("id")
      val name: String = resultSet.getString("name")
      val age: Int = resultSet.getInt("age")
      val clazz: String = resultSet.getString("clazz")
      val gender: String = resultSet.getString("gender")

      println(id + "\t" + name + "\t" + age + "\t" + gender + "\t" + clazz)
    }
  }
}
复制代码

 

posted @   坤坤无敌  阅读(48)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示