AiTi修炼|重剑无锋,拈花微笑 | IT修炼,技术fans.重剑无锋,拈花微笑才是最高境界,聊以此站记录一些个人学习、思考以及感悟Java,Scala,Spark,Hadoop,Storm,Nodejs,RSpark,Storm,Hbase,Hive,Flume等IT技术的历程 | Page 6
  • Home
Header
Header
$pageNumDef = 0;

scala如何连接和操作mysql/oracle/sqlserver数据库

  • 【问题场景】

  在scala中怎么连接mysql/oracle/sqlserver数据库,进行数据库操作。
* 【解决思路】

  了解scala的强大特性我们会发现java中的东西,scala基本可以拿来使用,那么要解决scala连接数据库的问题,自然是可以通过java最经典的JDBC方式来解决,当然了现在针对scala操作数据库的,已经有涌现出了很多封装框架如ScalaQuery、O/R Broker 、Squeryl 、Slick(typesafe公司开发)、ScalaActiveRecord (基于Squeryl之上)、circumflex-orm以及activate-framework(Scala版的Hibernate)等。

 当然了在一些简单业务场景下,使用JDBC来得直接简单,例如使用scala以jdbc的方式连接mysql(同样对于oracle/sqlserver数据库也是类似)的主要代码实现如下:

import java.sql.{Connection, DriverManager, ResultSet};
  // DB Connect Info
  val conn_str = "jdbc:mysql://localhost:3306/DBNAME?user=rscala_db&password=rscala_db"

  // Load the driver 
  classOf[com.mysql.jdbc.Driver]

  // Setup the connection
  val conn = DriverManager.getConnection(conn_str)
  try {
      // Configure to be Read Only
      val statement = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)

      // Execute Query
      val rs = statement.executeQuery("SELECT username,pwd FROM rscala_users LIMIT 5")

      // Iterate Over ResultSet
      while (rs.next) {
          println(rs.getString("username"))
      }
  }
  finally {
      conn.close  
  }

rscala.com版权所有,本文scala如何连接和操作mysql/oracle/sqlserver数据库
转载请注明出处:http://rscala.com/index.php/385.html