[英]how to create a connection between scala and mysql using jdbc
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
object TestAppMain {
def main(args: Array[String]) {
val url = "jdbc:mysql://localhost/scala"
val username = "root"
val password = "abc123"
// there's probably a better way to do this
var connection:Connection = null
try {
// make the connection
**Class.forName("com.mysql.jdbc.Driver")**
connection = DriverManager.getConnection(url, username, password)
// create the statement, and run the select query
val statement = connection.createStatement()
val resultSet = statement.executeQuery("SELECT host, user FROM fra1")
while ( resultSet.next() ) {
val host = resultSet.getString("host")
val user = resultSet.getString("user")
println("host, user = " + host + ", " + user)
}
} catch {
case e => e.printStackTrace
}
**connection.close()**
}
}
我在“ ** **”包围的行中收到错误,但在“ com.mysql.jdbc.Driver”中却遇到了主要错误,因此如何解决该错误? 我有一个名为scala的数据库和一个名为fra1的表,我创建了一个名为scala的数据库并在mysql中也创建了一个表
mysql> create table fra1(host varchar(64),user varchar(64));
Query OK, 0 rows affected (0.39 sec)
mysql> select* from fra1;
Empty set (0.00 sec)
mysql> insert into fra1 values('rohit1' ,'xyz123');
Query OK, 1 row affected (0.05 sec)
mysql> insert into fra1 values('rohit' ,'abc123');
Query OK, 1 row affected (0.05 sec)
mysql> select* from fra1;
+--------+--------+
| host | user |
+--------+--------+
| rohit1 | xyz123 |
| rohit | abc123 |
+--------+--------+
2 rows in set (0.00 sec)
在jdbc 4.0中,您无需再执行Class.forName。 在此处查看jdbc手册:
http://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html
另外,请确保在Build.scala或build.sbt中声明正确的依赖项:
libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.6"
可以通过三个步骤进行。 1.在build.sbt中添加库
libraryDependencies ++= Seq (
"mysql" % "mysql-connector-java" % "5.1.12"
)
2.导入相关库
import java.util. Properties
import java.sql.{Connection, DriverManager, Statement, ResultSet}
3. Scala代码与mysql连接
val url = "jdbc:mysql://127.0.0.1/clothing"
val username = "root"
val password = "123456"
Class.forName("com.mysql.jdbc.Driver")
val dbc: Connection = DriverManager.getConnection(url, username, password)
val st: Statement = dbc.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)
val rs = st.executeQuery("SELECT * from movies LIMIT 10")
val result = new StringBuilder
while (rs.next()) {
val info = Array(rs.getString("MovieID"), rs.getString("MovieName"), rs.getString("ReleaseYear"))
result.append(rs.getString("MovieID")).append(",")
result.append(rs.getString("MovieName")).append(",")
result.append(rs.getString("ReleaseYear")).append("\n")
}
dbc.close
result.toString
该代码对我有用
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
object ConnectDB {
var connection:Connection = _
def main(args: Array[String]) {
val url = "jdbc:mysql://localhost/mysql"
val driver = "com.mysql.jdbc.Driver"
val username = "root"
val password = "root"
try {
// make the connection
Class.forName(driver)
connection = DriverManager.getConnection(url, username, password)
// create the statement, and run the select query
val statement = connection.createStatement()
val resultSet = statement.executeQuery("SELECT host, user FROM user")
while ( resultSet.next() ) {
val host = resultSet.getString("host")
val user = resultSet.getString("user")
println("host, user = " + host + ", " + user)
}
} catch {
case e: Exception => e.printStackTrace
}
connection.close()
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.