scala mysql连接池_scala实现数据库的连接池(mysql数据库,scala-2.10.4)

使用jdbc提供的驱动进行连接数据库。首先需要从MySQL官网上下载jdbc的驱动,得到.jar文件,这就是我们需要的jdbc驱动。 我们需要连接数据库,就首先需要我们电脑上有MySQL的数据库,并建立一个表,来存放数据。这里我自己建立一个名为mydb的表。 建立好表后

一、编写实现代码类:MySqlPool

package  test.testConnectionPoll

import java.sql.{DriverManager, Connection}

import java.util

/**

* mysql数据库连接池

*/

object MySqlPool {

private val max = 8                         //连接池连接总数

private val connectionNum = 10    //每次产生连接数

private var conNum = 0                  //当前连接池已产生的连接数

private val pool = new util.LinkedList[Connection]()    //连接池

//获取连接

def getJdbcConn() : Connection = {

//同步代码块

AnyRef.synchronized({

if(pool.isEmpty){

//加载驱动

preGetConn()

for(i

val conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dg","root","密码")

pool.push(conn)

conNum +=  1

}

}

pool.poll()

})

}

//释放连接

def releaseConn(conn:Connection): Unit ={

pool.push(conn)

}

//加载驱动

private def preGetConn() : Unit = {

//控制加载

if(conNum < max && !pool.isEmpty){

println("Jdbc Pool has no connection now, please wait a moments!")

Thread.sleep(2000)

preGetConn()

}else{

Class.forName("com.mysql.jdbc.Driver");

}

}

}第一种是用工具phpMyAdmin连接数据库: 下载好phpmyadmin放在对应目录.修改phpmyadmin/libraries/config.default.php 将下图中的改成你admin所对应的服务器路径: 往下找: 接着往下找: 最后在浏览器地址栏输入phpmyadmin所配置的网址:用户名和密码都是远程

二、测试是否成功

package  test.testConnectionPoll

/**

* 测试获取数据库连接池

*

*/

object TestConnectPool {

def main(args: Array[String]): Unit = {

for (x

val con=MySqlPool.getJdbcConn()

println("当前连接:"+x+"  "+con)

if(x==6){

println("释放的是:"+x+" "+con)

MySqlPool.releaseConn(con)

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我了解到您想了解如何通过JDBC连接MySQL数据库并使用Spark DataFrame进行数据操作。 首先,您需要在Spark应用程序中引入相应的JDBC驱动程序。如果您使用MySQL数据库,则可以通过以下方式引入MySQL驱动程序: ```scala // Scala val spark = SparkSession.builder() .appName("JDBC example") .config("spark.master", "local") .getOrCreate() // Add MySQL JDBC driver spark.sparkContext.addJar("/path/to/mysql-connector-java.jar") ``` ```java // Java SparkSession spark = SparkSession.builder() .appName("JDBC example") .config("spark.master", "local") .getOrCreate(); // Add MySQL JDBC driver spark.sparkContext().addJar("/path/to/mysql-connector-java.jar"); ``` 接下来,您需要指定MySQL数据库连接参数,例如URL、用户名和密码等。以下是一个示例: ```scala // Scala val jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase" val connectionProperties = new Properties() connectionProperties.put("user", "myuser") connectionProperties.put("password", "mypassword") ``` ```java // Java String jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase"; Properties connectionProperties = new Properties(); connectionProperties.put("user", "myuser"); connectionProperties.put("password", "mypassword"); ``` 现在,您可以使用Spark DataFrame API来读取MySQL数据库中的数据。以下是一个示例: ```scala // Scala val df = spark.read.jdbc(jdbcUrl, "mytable", connectionProperties) df.show() // Filter data val filteredDf = df.filter($"age" > 30) filteredDf.show() // Write data filteredDf.write.jdbc(jdbcUrl, "filtered_table", connectionProperties) ``` ```java // Java Dataset<Row> df = spark.read().jdbc(jdbcUrl, "mytable", connectionProperties); df.show(); // Filter data Dataset<Row> filteredDf = df.filter(col("age").gt(30)); filteredDf.show(); // Write data filteredDf.write().jdbc(jdbcUrl, "filtered_table", connectionProperties); ``` 以上示例演示了如何使用Spark DataFrame API读取、过滤和写入MySQL数据库中的数据。您可以根据自己的需求进行相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值