91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java?Scala怎么實現數據庫增刪查改操作

發布時間:2023-04-08 10:33:12 來源:億速云 閱讀:74 作者:iii 欄目:開發技術

這篇文章主要講解了“Java Scala怎么實現數據庫增刪查改操作”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java Scala怎么實現數據庫增刪查改操作”吧!

添加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()
      }
    }
}

準備工作已做完下面要實現對數據庫的增刪查改

添加數據

方法一

//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("添加失敗")
    }

方法二

//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)
      }
    }
  }
}

MysqlDemo代碼

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怎么實現數據庫增刪查改操作”的內容了,經過本文的學習后,相信大家對Java Scala怎么實現數據庫增刪查改操作這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

都兰县| 博湖县| 常山县| 松阳县| 芦山县| 仙居县| 萨迦县| 连州市| 闸北区| 阳江市| 吴桥县| 凤山县| 中超| 金坛市| 互助| 巴林右旗| 巫溪县| 沽源县| 镶黄旗| 鄱阳县| 丰顺县| 广州市| 台江县| 仲巴县| 大荔县| 剑阁县| 嘉禾县| 平凉市| 军事| 武宣县| 涪陵区| 锡林郭勒盟| 南岸区| 满洲里市| 连南| 合肥市| 新巴尔虎左旗| 浙江省| 乌海市| 新化县| 绥阳县|