当前位置: 首页 > article >正文

scala图书管理系统 【dao】软件包

BookDAO
package org.app
package dao
import org.app.modeis.UserMode 
import scala.collection.mutable.ListBuffe 
class UserDAO {
  // 加载所有的用户
  def loadUsers(): ListBuffer[UserModel] = {
    val users = new ListBuffer[UserModel]()
    val source = scala.io.Source.fromFile("users.txt")
    for(line <- source.getLines()){
      val Array(username, password, role) = line.split(",")
      // 实例化一个用户,保存到List
      users += UserModel(username, password, role)
    }
    // 关闭连接
    source.close()
    users
  }
  def saveUsers(users: ListBuffer[UserModel]): Unit = {
    val writer = new java.io.PrintWriter(new java.io.File("users.txt"))
    for (user <- users) {
      writer.println(user.username+ "," + user.password + "," + user.role)
    }
    writer.close()
  }
}
BorrowRecordDAO
package org.app
package dao
import org.app.modeis.BorrowRecordModel
import scala.collection.mutable.ListBuffer
import scala.io.Source
class BorrowRecordDAO {
  // 读出借阅记录
  def loadBorrowRecords(): ListBuffer[BorrowRecordModel] = {
    val borrowRecords = ListBuffer[BorrowRecordModel]()
    val lines = Source.fromFile("borrow_records.txt")
    for(line <- lines.getLines()){
      val parts=line.split(",")
      borrowRecords += BorrowRecordModel(
        parts(0),
        parts(1).toInt,
        parts(2),
        parts(3),
        if (parts.length>4) Some(parts(4)) else None
      )
      }
        borrowRecords
  }
  // 写入借阅记录
  def saveBorrowRecords(records: ListBuffer[BorrowRecordModel]): Unit = {
    val writer = new java.io.PrintWriter("borrow_records.txt")
    for(record <- records){  writer.println(record.userName+","+record.bookID+","+record.bookName+","+record.borrowDate+","+record.returnDate.getOrElse(""))
    }
    writer.close()
  }
}
UserDAO
package org.app
package dao
import org.app.modeis.UserModel
import scala.collection.mutable.ListBuffer
class UserDAO {
  // 加载所有的用户
  def loadUsers(): ListBuffer[UserModel] = {
    val users = new ListBuffer[UserModel]()
    val source = scala.io.Source.fromFile("users.txt")
    for(line <- source.getLines()){
      val Array(username, password, role) = line.split(",")
      // 实例化一个用户,保存到List
      users += UserModel(username, password, role)
    }
    // 关闭连接
    source.close()
    users
  }
  def saveUsers(users: ListBuffer[UserModel]): Unit = {
    val writer = new java.io.PrintWriter(new java.io.File("users.txt"))
    for (user <- users) {
      writer.println(user.username+ "," + user.password + "," + user.role)
    }
    writer.close()
  }
}

 

 


http://www.kler.cn/a/463738.html

相关文章:

  • Git快速入门(三)·远程仓库GitHub以及Gitee的使用
  • (二)当人工智能是一个函数,函数形式怎么选择?ChatGPT的函数又是什么?
  • xdoj 有序数列插值
  • 【工具推荐】XSS 扫描器-XSStrike
  • 计算机网络 (16)数字链路层的几个共同问题
  • 硬件工程师面试题 21-30
  • A-Tune性能优化工具介绍
  • Python 语言实现 IP 地址转换
  • Linux Kernel Programming4
  • linux-24 文件管理(二)文件编辑,字符集,nano,文件删除,rm
  • 【Web安全】文件写入漏洞 ASP 网页病毒模拟(文件写入漏洞+FilesystemObject)
  • STM32单片机芯片与内部52 I2C 数据手册 寄存器
  • Prometheus 采集 JVM 数据
  • 从0到机器视觉工程师(二):封装调用静态库和动态库
  • 重启ubuntu服务器,如何让springboot服务自动运行
  • 【SQL Server】教材数据库(1)
  • Javascript数据结构常见题目(一)
  • Harmony OS 开发-ArkUI框架速成一
  • 【深度学习】多目标融合算法—样本Loss提权
  • 2024 年发布的 Android AI 手机都有什么功能?
  • springboot529基于JavaWeb的本科生交流培养管理平台的设计与实现(论文+源码)_kaic
  • C++:Windows 多线程 简单示例
  • Ubuntu 24.04安装和使用WPS 2019
  • 2412d,d语言中写汇编
  • 机器学习 LightGBM 算法原理解析
  • QT---------GUI程序设计基础