>Java >java지도 시간 >Java 및 Scala에서 데이터베이스를 사용하여 추가, 삭제, 확인 및 수정 작업을 수행하는 방법은 무엇입니까?

Java 및 Scala에서 데이터베이스를 사용하여 추가, 삭제, 확인 및 수정 작업을 수행하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-04-24 08:19:06731검색

Jar 패키지 추가

여기의 Scala는 Maven 프로젝트가 아니므로 프로젝트 구조(단축키: Ctrl+Shift+Alt+s를 동시에 누르기)를 찾고 모듈에 MySQL jar 패키지를 추가해야 합니다. .Maven 프로젝트라면 pom에 바로 추가해도 됩니다 그냥 직접 추가해주세요

Java 및 Scala에서 데이터베이스를 사용하여 추가, 삭제, 확인 및 수정 작업을 수행하는 방법은 무엇입니까?

데이터베이스의 동작을 구현하기 위해서는 두 개의 클래스가 필요합니다. 하나는 테스트용 Demo, 또 하나는 Util입니다. 추가, 삭제, 확인 및 수정 방법

MysqlDemo에서는 컴패니언 클래스와 컴패니언 개체가 주로 데이터베이스에 연결하는 데 사용됩니다.

class MysqlDemo {
  //  连接数据库 底层原理还是jdbc
  //驱动名称
  var driver = "com.mysql.cj.jdbc.Driver"
  //  访问MySQL服务器,通过3306端口访问mysql数据库
  var url = "jdbc:mysql://192.168.152.184:3306/exam"
  //用户名
  var user = "root"
  //密码
  var password = "123456"
  //辅助构造器
  def this(driver: String, url: String, user: String, pwd: String) {
    this()
    this.driver = driver
    this.url = url
    this.user = user
    this.password = pwd
  }
}

컴패니언 개체는 주로 데이터베이스를 작동하는 데 사용됩니다. 먼저 Apply 메소드를 구현하려면 메인 함수에서 객체를 생성하고 Apply 메소드를 호출하고, 연결 메소드를 호출하고 리소스를 해제하세요

object MysqlDemo {
  //  实现apply方法
  def apply(): MysqlDemo = new MysqlDemo()
  def apply(driver: String, url: String, user: String, pwd: String): MysqlDemo = new MysqlDemo(driver, url, user, pwd)
  def main(args: Array[String]): Unit = {
    //创建对象,调用apply方法
    val demo = MysqlDemo()
    //导入MySQLUtil包
    import MysqlUtil._
    //调用创建连接的方法
    demo.conn()
    // 调用释放资源方法
    demo.close(connection)
/**操作数据库代码*/
}

Util은 먼저 데이터베이스 연결을 초기화하고, 드라이버를 등록하고, 데이터베이스 연결을 얻어야 합니다. 리소스 공개

import java.sql.{Connection, DriverManager, PreparedStatement, ResultSet}
object MysqlUtil {
  implicit class MysqlOp(obj: MysqlDemo) {
    //初始化数据连接
    private var connection: Connection = _
    def conn(): Connection = {
      //注册driver
      Class.forName(obj.driver)
      //得到数据库连接
      val connection: Connection = DriverManager.getConnection(obj.url, obj.user, obj.password)
      connection
    }
    //释放资源
    def close(conn: Connection): Unit = {
      if (conn != null) {
        conn.close()
      }
    }
}

준비 작업이 완료되었습니다. 이제 데이터베이스를 추가, 삭제, 확인 및 수정해야 합니다

데이터 추가

방법 1

//Util代码
//添加数据方法一
    def insertStudent: Int = {
      val insertSqlStr = "insert into student(name, age, gender, telephone, email, classid)" +
        "values ('周七', 6, '男', '13888888888', '346497@qq.com', 2)"
      val i: Int = conn().createStatement.executeUpdate(insertSqlStr)
      i
    }
//Demo测试代码
 //添加数据方法一
    val i: Int = demo.insertStudent
    if (i == 1) {
      println("添加成功")
    } else if (i == 0) {
      println("添加失败")
    }

방법 2

//Util代码  
   //添加数据方法二
    def insertStudent(name: String, age: Int, gender: String, telephone: String, email: String, classid: Int): Int = {
      val insertSqlStr = "insert into student(id,name, age, gender, telephone, email, classid)" +
        "values (null,?,?,?,?,?,?)"
      val preStmt: PreparedStatement = conn().prepareStatement(insertSqlStr)
      preStmt.setString(1, name)
      preStmt.setInt(2, age)
      preStmt.setString(3, gender)
      preStmt.setString(4, telephone)
      preStmt.setString(5, email)
      preStmt.setInt(6, classid)
      val i: Int = preStmt.executeUpdate()
      i
    }
//Demo测试代码
 //添加数据方法二
    val i: Int = demo.insertStudent("aaa", 18, "男", "12345678910", "34649756@qq.com", 1)
    if (i == 1) {
      println("添加成功")
    } else if (i == 0) {
      println("添加失败")
    }

데이터 삭제

//Util代码
  def deleteStudent(id: Int): Int = {
      val deleteSql = "delete from student where id= ?"
      val preStmt: PreparedStatement = conn().prepareStatement(deleteSql)
      preStmt.setInt(1, id)
      val i: Int = preStmt.executeUpdate()
      i
    }
//Demo测试代码
        val i: Int = demo.deleteStudent(21)
        if (i == 1) {
          println("删除成功")
        } else if (i == 0) {
          println("删除失败")
        }

데이터 쿼리

//Util代码
   def selectStudent: Unit = {
      val selectSql = "select id,name, age, gender, telephone, email, classid from student"
      val rs: ResultSet = conn().createStatement().executeQuery(selectSql)
      println("学号\t姓名\t年龄\t性别\t手机号\t邮箱\t班级编号")
      while (rs.next()) {
        val id: Int = rs.getInt("id")
        val name: String = rs.getString("name")
        val age: Int = rs.getInt("age")
        val gender: String = rs.getString("gender")
        val telephone: String = rs.getString("telephone")
        val email: String = rs.getString("email")
        val classid: String = rs.getString("classid")
        println(id + "\t" + name + "\t" + age + "\t" + gender + "\t" + telephone + "\t" + email + "\t" + classid)
      }
    }
//Demo测试代码
        demo.selectStudent

데이터 수정

//Util代码
   def updateStudent(id: Int, name: String, age: Int, gender: String, telephone: String, email: String, classid: Int): Int = {
      val updateSql = "update student set name=?," + "age=?, " + "gender=?," +
        "telephone=?," + "email=?, " + "classid=? where id=?"
      val preStmt: PreparedStatement = conn().prepareStatement(updateSql)
      preStmt.setString(1, name)
      preStmt.setInt(2, age)
      preStmt.setString(3, gender)
      preStmt.setString(4, telephone)
      preStmt.setString(5, email)
      preStmt.setInt(6, classid)
      preStmt.setInt(7, id)
      val i: Int = preStmt.executeUpdate()
      i
    }
//Demo测试代码
        val i: Int = demo.updateStudent(22, "test", 25, "女", "123456789", "369852@qq.com", 2)
        if (i == 1) {
          println("修改成功")
        } else if (i == 0) {
          println("修改失败")
        }

전체 코드

MysqlUtil 코드

import java.sql.{Connection, DriverManager, PreparedStatement, ResultSet}
object MysqlUtil {
  implicit class MysqlOp(obj: MysqlDemo) {
    //初始化数据连接
    private var connection: Connection = _
    def conn(): Connection = {
      //注册driver
      Class.forName(obj.driver)
      //得到数据库连接
      val connection: Connection = DriverManager.getConnection(obj.url, obj.user, obj.password)
      connection
    }
    //释放资源
    def close(conn: Connection): Unit = {
      if (conn != null) {
        conn.close()
      }
    }
    //添加数据方法一
    def insertStudent: Int = {
      val insertSqlStr = "insert into student(name, age, gender, telephone, email, classid)" +
        "values ('bbb', 6, '男', '13852277346', '3464975236@qq.com', 2)"
      val i: Int = conn().createStatement.executeUpdate(insertSqlStr)
      i
    }
    //添加数据方法二
    def insertStudent(name: String, age: Int, gender: String, telephone: String, email: String, classid: Int): Int = {
      val insertSqlStr = "insert into student(id,name, age, gender, telephone, email, classid)" +
        "values (null,?,?,?,?,?,?)"
      val preStmt: PreparedStatement = conn().prepareStatement(insertSqlStr)
      preStmt.setString(1, name)
      preStmt.setInt(2, age)
      preStmt.setString(3, gender)
      preStmt.setString(4, telephone)
      preStmt.setString(5, email)
      preStmt.setInt(6, classid)
      val i: Int = preStmt.executeUpdate()
      i
    }
    //删除数据
    def deleteStudent(id: Int): Int = {
      val deleteSql = "delete from student where id= ?"
      val preStmt: PreparedStatement = conn().prepareStatement(deleteSql)
      preStmt.setInt(1, id)
      val i: Int = preStmt.executeUpdate()
      i
    }
    //修改数据
    def updateStudent(id: Int, name: String, age: Int, gender: String, telephone: String, email: String, classid: Int): Int = {
      val updateSql = "update student set name=?," + "age=?, " + "gender=?," +
        "telephone=?," + "email=?, " + "classid=? where id=?"
      val preStmt: PreparedStatement = conn().prepareStatement(updateSql)
      preStmt.setString(1, name)
      preStmt.setInt(2, age)
      preStmt.setString(3, gender)
      preStmt.setString(4, telephone)
      preStmt.setString(5, email)
      preStmt.setInt(6, classid)
      preStmt.setInt(7, id)
      val i: Int = preStmt.executeUpdate()
      i
    }
    //查询数据
    def selectStudent: Unit = {
      val selectSql = "select id,name, age, gender, telephone, email, classid from student"
      val rs: ResultSet = conn().createStatement().executeQuery(selectSql)
      println("学号\t姓名\t年龄\t性别\t手机号\t邮箱\t班级编号")
      while (rs.next()) {
        val id: Int = rs.getInt("id")
        val name: String = rs.getString("name")
        val age: Int = rs.getInt("age")
        val gender: String = rs.getString("gender")
        val telephone: String = rs.getString("telephone")
        val email: String = rs.getString("email")
        val classid: String = rs.getString("classid")
        println(id + "\t" + name + "\t" + age + "\t" + gender + "\t" + telephone + "\t" + email + "\t" + classid)
      }
    }
  }
}

Mysql데모 코드

import java.sql.Connection
class MysqlDemo {
  //  连接数据库 底层原理还是jdbc
  //驱动名称
  var driver = "com.mysql.cj.jdbc.Driver"
  //  访问MySQL服务器,通过3306端口访问mysql数据库
  var url = "jdbc:mysql://192.168.152.184:3306/exam"
  //用户名
  var user = "root"
  //密码
  var password = "123456"
  //辅助构造器    
  def this(driver: String, url: String, user: String, pwd: String) {
    this()
    this.driver = driver
    this.url = url
    this.user = user
    this.password = pwd
  }
}
object MysqlDemo {
  //  实现apply方法
  def apply(): MysqlDemo = new MysqlDemo()
  def apply(driver: String, url: String, user: String, pwd: String): MysqlDemo = new MysqlDemo(driver, url, user, pwd)
  def main(args: Array[String]): Unit = {
    //创建对象,调用apply方法
    val demo = MysqlDemo()
    //导入MySQLUtil包
    import MysqlUtil._
    //调用创建连接的方法
    val connection: Connection = demo.conn()
    // 调用释放资源方法
    demo.close(connection)
    //添加数据方法一
    val i: Int = demo.insertStudent
    if (i == 1) {
      println("添加成功")
    } else if (i == 0) {
      println("添加失败")
    }
    //添加数据方法二
    val i: Int = demo.insertStudent("aaa", 18, "男", "12345678910", "34649756@qq.com", 1)
    if (i == 1) {
      println("添加成功")
    } else if (i == 0) {
      println("添加失败")
    }
    //查询数据
    demo.selectStudent
    // 修改数据
    val i: Int = demo.updateStudent(22, "test", 25, "女", "123456789", "369852@qq.com", 2)
    if (i == 1) {
      println("修改成功")
    } else if (i == 0) {
      println("修改失败")
    }
    //删除数据
    val i: Int = demo.deleteStudent(21)
    if (i == 1) {
      println("删除成功")
    } else if (i == 0) {
      println("删除失败")
    }
  }
}

위 내용은 Java 및 Scala에서 데이터베이스를 사용하여 추가, 삭제, 확인 및 수정 작업을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제