Scala的JDBC操作MySQL

Scala 连接 MySQL 操作数据库基本步骤

  • 获取数据库连接
  • 创建操作方法
  • main() 方法实现操作
  • 以下示例以查询和插入操作为示例演示
import java.sql.{Connection, DriverManager}

object MysqlDemo {
  private val driver="com.mysql.jdbc.Driver"
  private val url="jdbc:mysql://192.168.8.99:3306/scalaDemo"
  private val username="root"
  private val password="ok"
  private var connection:Connection=null

//获取连接
  def getConnection():Unit={
    Class.forName(driver)
    connection = DriverManager.getConnection(url,username,password)
  }

//向数据库插入数据
  def insert(name:String,age:Int):Int={
    //val insertSqlString="insert into student(name,age) values(\""+name+"\","+age+")"
    //val statement = connection.prepareStatement(insertSqlString)
    //connection.createStatement().executeUpdate(insertSqlString)

	val insertSqlString2 = "insert into student(name,age) values(?,?)"
    val prStamt = connection.prepareStatement(insertSqlString2)
    prStamt.setString(1,name)
    prStamt.setInt(2,age)
    prStamt.executeUpdate()
  }

//查询数据库
  def select():Unit={
    val selectStrSql="select id,name,age from student"
    val rs = connection.createStatement().executeQuery(selectStrSql)
    while (rs.next()){
      var id=rs.getInt("id")
      var name=rs.getString("name")
      var age=rs.getInt("age")
      println(id+"\t"+name+"\t"+age)
    }
  }

  def main(args: Array[String]): Unit = {
    getConnection()
    insert("kb09",6)	//调用插入方法实现数据库数据插入
    select()		//调用查询方法查看数据库
  }
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Scala和Spark都可以操作MySQL数据库,具体步骤如下: 1. 导入MySQL JDBC驱动 在Scala或Spark程序中,需要先导入MySQL JDBC驱动,可以通过以下代码实现: ```scala Class.forName("com.mysql.jdbc.Driver") ``` 2. 创建MySQL连接 在Scala或Spark程序中,需要创建MySQL连接,可以通过以下代码实现: ```scala val url = "jdbc:mysql://localhost:3306/test" val username = "root" val password = "123456" val conn = DriverManager.getConnection(url, username, password) ``` 其中,url为MySQL数据库的连接地址,username和password为MySQL数据库的用户名和密码。 3. 执行MySQL查询 在Scala或Spark程序中,可以通过以下代码执行MySQL查询: ```scala val stmt = conn.createStatement() val rs = stmt.executeQuery("SELECT * FROM users") while (rs.next()) { val id = rs.getInt("id") val name = rs.getString("name") val age = rs.getInt("age") println(s"id=$id, name=$name, age=$age") } ``` 其中,stmt为MySQL的Statement对象,rs为查询结果集。 4. 关闭MySQL连接 在Scala或Spark程序中,需要关闭MySQL连接,可以通过以下代码实现: ```scala rs.close() stmt.close() conn.close() ``` 以上就是Scala和Spark操作MySQL的基本步骤。 ### 回答2: Scala是一种集成了面向对象编程和函数式编程的编程语言,由于其简洁和易读性,越来越受到开发者的喜爱。Spark则是一种大数据处理框架,具有高度的可扩展性和灵活性,适用于各种大数据场景。而对于操作MySQLScala和Spark都提供了一定的支持,下面将分别介绍它们的相关操作Scala操作MySQL Scala中使用MySQL可以使用Java JDBC API来实现,需要导入MySQL JDBC驱动,示例如下: ``` import java.sql.{Connection, DriverManager, ResultSet} object ScalaMySQL extends App { // 加载MySQL JDBC驱动 Class.forName("com.mysql.cj.jdbc.Driver") // 建立连接 val conn: Connection = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test?useSSL=false", "root", "password") // 执行查询 val stmt = conn.createStatement() val rs: ResultSet = stmt.executeQuery("SELECT * FROM users") while (rs.next()) { val id = rs.getInt("id") val name = rs.getString("name") println(s"ID: $id, Name: $name") } // 关闭连接 rs.close() stmt.close() conn.close() } ``` 在该示例代码中,我们先加载MySQL JDBC驱动,然后建立连接并执行查询操作,最后关闭连接。 Spark操作MySQL 对于Spark,我们可以使用Spark SQL的相关API来操作MySQL数据库,需要先导入MySQL JDBC驱动并配置连接信息,示例如下: ``` import org.apache.spark.sql.{DataFrame, SparkSession} object SparkMySQL extends App { // 配置MySQL连接信息 val jdbcHostname = "localhost" val jdbcPort = 3306 val jdbcDatabase = "test" val jdbcUsername = "root" val jdbcPassword = "password" val jdbcUrl = s"jdbc:mysql://${jdbcHostname}:${jdbcPort}/${jdbcDatabase}?user=${jdbcUsername}&password=${jdbcPassword}" // 创建SparkSession val spark = SparkSession.builder() .appName("SparkMySQL") .master("local[*]") .getOrCreate() // 读取MySQL中的表数据 val tableDF: DataFrame = spark.read.jdbc(jdbcUrl, "users", new Properties()) // 显示表数据 tableDF.show() // 关闭SparkSession spark.stop() } ``` 在该示例代码中,我们先配置MySQL连接信息,然后创建一个SparkSession,接着使用`read.jdbc()`方法读取MySQL数据库中的表数据,最后通过`show()`方法展示数据。值得注意的是,如果表数据较大,可能需要使用分区读取和并行处理等优化方式。 总结 两种语言的方法都比较简单明了,Scala直接使用JDBC API进行操作,而Spark则使用Spark SQL的相关API,但都需要先导入MySQL JDBC驱动和配置连接信息。无论采用哪种方法,都需要注意安全性、性能和扩展性等问题,以使得操作MySQL更加高效、稳定和可靠。 ### 回答3: Scala是一门功能强大且可以与Java互操作的静态类型编程语言,它可以为大规模数据处理和分布式系统编程提供解决方案。而Spark则是一种快速的大数据处理框架,可以同时支持处理大型数据和实时数据。接下来,我们将讨论Scala和Spark如何与MySQL进行交互。 首先,Scala和Spark都支持使用JDBC API来连接MySQL数据库。在Scala中,我们可以使用Java的JDBC API来连接MySQL数据库并执行SQL语句,以执行数据的读取和写入。可以使用MySQL的Java驱动程序(mysql-connector-java),并在Scala中使用它来建立连接并执行SQL查询。 在Spark中,我们可以使用Spark SQL模块来处理MySQL数据。Spark SQL将JDBC连接封装在Spark DataFrame API中,这使得我们可以轻松地将数据从MySQL中读取到Spark中,然后对其进行处理。Spark SQL提供了许多连接器,包括JDBC连接器,可以轻松地将数据从外部数据存储(如MySQL)加载到Spark中。 除了使用JDBC连接器外,Spark也提供了用于连接各种数据源(包括MySQL)的扩展API。例如,我们可以使用Spark的Connector API来编写自己的自定义连接器(Custom connector),这些连接器可以与任何框架进行交互并支持自定义数据源。此外,Spark还提供了一种名为Spark Streaming的实时流处理框架,可以与MySQL等数据源进行交互,并在实时流处理环境中进行数据处理。 总结而言,Scala和Spark都能够灵活地与MySQL数据库进行交互,以实现大规模数据处理和分析。无论是在Scala中使用Java JDBC API,还是在Spark中使用Spark SQL模块和连接器,都可以方便地将MySQL数据集成到Scala和Spark的大数据生态系统中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值