scala 操作數據庫的方法
2019-06-29 16:30張樂1993 Java教程
這篇文章主要介紹了scala 操作數據庫的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
1、定義數據庫連接
01 | package com.web.dataSource |
03 | import com.alibaba.druid.pool.DruidDataSource |
05 | object MySqlDataSource { |
07 | val driver = "com.mysql.jdbc.Driver" |
12 | val connectionPool = new DruidDataSource() |
13 | connectionPool.setUsername(username) |
14 | connectionPool.setPassword(password) |
15 | connectionPool.setDriverClassName(driver) |
16 | connectionPool.setUrl(url) |
17 | connectionPool.setValidationQuery( "select 1" ) |
18 | connectionPool.setInitialSize( 15 ) |
19 | connectionPool.setMinIdle( 10 ) |
20 | connectionPool.setMaxActive( 100 ) |
21 | connectionPool.setRemoveAbandoned( true ) |
22 | connectionPool.setRemoveAbandonedTimeoutMillis( 180000 ) |
23 | connectionPool.setMaxWait( 5000 ) |
24 | connectionPool.setTestOnBorrow( false ) |
25 | connectionPool.setTestOnReturn( false ) |
2、執行查詢
01 | def getOptions(uid:Int) ={ |
03 | val connection = MySqlDataSource.connectionPool.getConnection |
05 | s "" " select username,password,sex |
12 | var stmt = connection.prepareStatement(sql) |
16 | var resultSet = stmt.executeQuery() |
18 | var resultListMap = List[Map[String,String]]() |
22 | while (resultSet.next()){ |
24 | resultListMap = resultListMap :+ Map( |
26 | "username" ->resultSet.getString( "username" ), |
28 | "password" ->resultSet.getString( "password" ), |
30 | "sex" ->resultSet.getInt( "sex" ), |
3、插入數據
01 | object UpdateLocation { |
03 | def main(args: Array[String]): Unit = { |
04 | val conf = new SparkConf().setAppName( "UpdateLocation" ).setMaster( "local[2]" ) |
05 | val sc = new SparkContext(conf) |
06 | var conn: Connection = null |
07 | var ps: PreparedStatement = null |
09 | val sql = "INSERT INTO location_info(location,accesse_date,counts) VALUES (?,?,?)" |
11 | ps = conn.prepareStatement(sql) |
13 | ps.setString( 2 , "2018-7-2" ) |
17 | case e: Exception => println( "myException" ) |
4、刪除操作
01 | object DeleteLocation { |
03 | def main(args: Array[String]): Unit = { |
04 | val conf = new SparkConf().setAppName( "UpdateLocation" ).setMaster( "local[2]" ) |
05 | val sc = new SparkContext(conf) |
06 | var conn: Connection = null |
07 | var ps: PreparedStatement = null |
09 | val sql = "delete from location_info where location = ?" |
11 | ps = conn.prepareStatement(sql) |
15 | case e: Exception => println( "myException" ) |
5、更新操作
01 | object InsertLocation { |
03 | def main(args: Array[String]): Unit = { |
04 | val conf = new SparkConf().setAppName( "UpdateLocation" ).setMaster( "local[2]" ) |
05 | val sc = new SparkContext(conf) |
06 | var conn: Connection = null |
07 | var ps: PreparedStatement = null |
09 | val sql = "update location_info set location=? where id = ?" ; |
11 | ps = conn.prepareStatement(sql) |
16 | case e: Exception => println( "myException" ) |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。