【scala 数据库操作】scala操作mysql数据库

来源:互联网 发布:java线程notifyall 编辑:程序博客网 时间:2024/05/22 02:43

主要内容:

  • 1、scala连接mysql(jdbc方式)
  • 2、scala查询mysql数据
  • 3、scala更新mysql数据
  • 4、scala插入mysql数据。
  • 5、scala 删除mysql数据。
  • 6、scala 调用存储过程。

在我的本地mysql 数据库中,有一张persons表,内容如下:
这里写图片描述

下面我们希望通过scala执行 mysql 查询数据和插入数据 和更新数据,删除数据、调用存储过程等一系列操作。

scala通过JDBC方式操作mysql (需要加载 mysql-connector-java 驱动)

maven依赖:

 <dependency>      <groupId>mysql</groupId>      <artifactId>mysql-connector-java</artifactId>      <version>5.1.45</version>    </dependency>

下面是scala操作mysql数据库的方法:

package DataStructureAndAlgorithm/**  * Created by Administrator on 2017/12/23.  */import java.sql.{ Connection, DriverManager }object ScalaJdbcConnectSelect extends App {  // 访问本地MySQL服务器,通过3306端口访问mysql数据库  val url = "jdbc:mysql://localhost:3306/cgjr?useUnicode=true&characterEncoding=utf-8&useSSL=false"  //驱动名称  val driver = "com.mysql.jdbc.Driver"  //用户名  val username = "root"  //密码  val password = "12345"  //初始化数据连接  var connection: Connection = _  try {    //注册Driver    Class.forName(driver)    //得到连接    connection = DriverManager.getConnection(url, username, password)    val statement = connection.createStatement    //执行查询语句,并返回结果    val rs = statement.executeQuery("SELECT name, num FROM persons")    //打印返回结果    while (rs.next) {      val name = rs.getString("name")      val num = rs.getString("num")//      println(name+"\t"+num)      println("name = %s, num = %s".format(name, num))    }    println("查询数据完成!")    //    执行插入操作    val rs2 = statement.executeUpdate("INSERT INTO `persons` (`name`, `num`) VALUES ('徐志摩', '22')")    println("插入数据完成")//    执行更新操作    val rs3 = statement.executeUpdate("UPDATE persons set num=55 WHERE `name`=\"徐志摩\"")    println("更新数据完成!")//    执行删除操作    val rs4 = statement.executeUpdate("delete from persons WHERE `name`=\"徐志摩\"")    println("删除数据完成!")//    执行调用存储过程操作    val rs5 = statement.executeUpdate("call add_student(3)")    println("调用存储过程完成!")  } catch {    case e: Exception => e.printStackTrace  }  //关闭连接,释放资源  connection.close}

运行结果:

name = zhangsan, num = 20name = laidefa, num = 24name = 张3, num = 57查询数据完成!插入数据完成更新数据完成!删除数据完成!调用存储过程完成!Process finished with exit code 0
原创粉丝点击