主要内容:
- 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 = 20
name = laidefa, num = 24
name = 张3, num = 57
查询数据完成!
插入数据完成
更新数据完成!
删除数据完成!
调用存储过程完成!
Process finished with exit code 0