这个类用于封装对MySQL数据库的连接和基本操作。
import java.sql.{Connection, DriverManager, ResultSet}
object mysqlUtils {
def createConnection(url: String, user: String, password: String): Connection = {
Class.forName("com.mysql.cj.jdbc.Driver")
DriverManager.getConnection(url, user, password)
}
def executeQuery(connection: Connection, query: String): ResultSet = {
val statement = connection.createStatement()
statement.executeQuery(query)
}
def closeConnection(connection: Connection): Unit = {
if (connection != null && !connection.isClosed) {
connection.close()
}
}
}
完整代码如下:
import org.apache.spark.sql.{DataFrame, SparkSession}
import java.util.Properties
object MysqlUtils {
var p:Properties = new Properties() {
{
setProperty("user", "root")
setProperty("password", "123456")
}
}
def read(sparkSession: SparkSession,db:String,tb:String): DataFrame = {
sparkSession.read.jdbc(s"jdbc:mysql://bigdata1:3306/${db}?allowPublicKeyRetrieval=true&useSSL=false&characterEncoding=UTF-8",tb,p)
}
def write(db: String, tb: String,dataFrame: DataFrame): Unit = {
dataFrame.write.jdbc(s"jdbc:mysql://bigdata1:3306/${db}?allowPublicKeyRetrieval=true&useSSL=false&characterEncoding=UTF-8", tb, p)
}
}