scala mysql jdbc_【Scala】Scala使用JDBC连接Mysql/权限问题

本文介绍了如何使用Scala通过JDBC连接到MySQL数据库,包括添加相关依赖、建立连接、执行SQL和处理结果集。同时,文章提到了在连接过程中可能遇到的权限问题,如错误提示"No suitable driver found"和"Access denied",并提供了解决方案,如检查驱动、URL及设置数据库访问权限。
摘要由CSDN通过智能技术生成

步骤:

1)MySQL的驱动

2)Connection 重量级的获取过程。可以使用POOL优化

3)Statement 执行的类

4)ResultSet 结果的封装

5)Close

在pom中添加scala、hadoop、Mysql驱动依赖包:

2.11.8

2.6.5

org.scala-lang

scala-library

${scala.version}

org.apache.hadoop

hadoop-client

${hadoop.version}

mysql

mysql-connector-java

5.1.28

编写代码:

import java.sql.DriverManager

object ScalaJDBCApp {

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

val url = "jdbc:mysql://hadoop001:3306/ruoze_g6"

val user =  "root"

val password = "123456"

//classOf[com.mysql.jdbc.Driver]//或者使用 Class.forName("com.mysql.jdbc.Driver")

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

val sql = "select city_id,city_name from city_info"

val connection = DriverManager.getConnection(url,user,password)

val stmt = connection.createStatement()

val rs = stmt.executeQuery(sql)

while(rs.next()){

val cityid = rs.getInt(1)

val    cityname = rs.getString(2)

println(cityid+"....."+cityname)

}

rs.close()

stmt.close()

connection.close()

}

}

可能出现的异常:

1)java.sql.SQLException: No suitable driver found for jdbc://mysql://hadoop001:3306/ruoze_g6有可能是驱动没加进来,有可能是连接地址url写错了

2)SQLException: Access denied for user 'root'@'192.168.119.1' (using password: YES)数据库、表访问权限的异常。可能是用户权限不够,也可能是ip的权限不够。所以在mysql中修改访问权限:

grant all privileges on *.* to root@'%' identified by '123456';

表示root用户可以在任何ip都可以访问任何库,密码是123456

但是一般都不会用原生的,都是使用框架。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值