scala 操作数据库的方法

1、定义数据库连接

package com.web.dataSource

import com.alibaba.druid.pool.DruidDataSource

object MySqlDataSource {

 val driver = "com.mysql.jdbc.Driver"
 val url = "jdbc:mysql://127.0.0.1:3306"
 val username = "root"
 val password = "root"

 val connectionPool = new DruidDataSource()
 connectionPool.setUsername(username)
 connectionPool.setPassword(password)
 connectionPool.setDriverClassName(driver)
 connectionPool.setUrl(url)
 connectionPool.setValidationQuery("select 1")
 connectionPool.setInitialSize(15)
 connectionPool.setMinIdle(10)
 connectionPool.setMaxActive(100)
 connectionPool.setRemoveAbandoned(true)
 connectionPool.setRemoveAbandonedTimeoutMillis(180000)
 connectionPool.setMaxWait(5000)
 connectionPool.setTestOnBorrow(false)
 connectionPool.setTestOnReturn(false)

}

2、执行查询

def getOptions(uid:Int) ={

 val connection = MySqlDataSource.connectionPool.getConnection
 var sql =
      s""" select username,password,sex
      |from user 

      |where uid = ?

      """.stripMargin

var stmt = connection.prepareStatement(sql)

stmt.setInt(1, uid)

var resultSet = stmt.executeQuery()

var resultListMap = List[Map[String,String]]()

//获取结果

while(resultSet.next()){

resultListMap = resultListMap :+ Map(

                               "username"->resultSet.getString("username"),

                               "password"->resultSet.getString("password"),

                               "sex"->resultSet.getInt("sex"),

                              )

}

//关闭连接

stmt.close()

connection .close()

//返回结果

resultListMap

}

3、插入数据

object UpdateLocation {

 def main(args: Array[String]): Unit = {
  val conf = new SparkConf().setAppName("UpdateLocation").setMaster("local[2]")
  val sc = new SparkContext(conf)
  var conn: Connection = null
  var ps: PreparedStatement = null
  try {
   val sql = "INSERT INTO location_info(location,accesse_date,counts) VALUES (?,?,?)"
   conn = DriverManager.getConnection("jdbc:mysql://192.168.126.31:3306/sparkdatabase?useUnicode=true&characterEncoding=utf-8", "root", "Zhm@818919")
   ps = conn.prepareStatement(sql)
   ps.setString(1, "深圳")
   ps.setString(2, "2018-7-2")
   ps.setInt(3, 122)
   ps.execute()
  } catch {
   case e: Exception => println("myException")
  } finally {
   if (conn != null) {
    conn.close()
   }
   if (ps != null) {
    ps.close()
   }
  }
  sc.stop()
 }
}

4、删除操作

object DeleteLocation {

 def main(args: Array[String]): Unit = {
  val conf = new SparkConf().setAppName("UpdateLocation").setMaster("local[2]")
  val sc = new SparkContext(conf)
  var conn: Connection = null
  var ps: PreparedStatement = null
  try {
   val sql = "delete from location_info where location = ?"
   conn = DriverManager.getConnection("jdbc:mysql://192.168.126.31:3306/sparkdatabase?useUnicode=true&characterEncoding=utf-8", "root", "Zhm@818919")
   ps = conn.prepareStatement(sql)
   ps.setString(1, "深圳")
   ps.execute()
  } catch {
   case e: Exception => println("myException")
  } finally {
   if (conn != null) {
    conn.close()
   }
   if (ps != null) {
    ps.close()
   }
  }
  sc.stop()
 }
}

5、更新操作

object InsertLocation {

 def main(args: Array[String]): Unit = {
  val conf = new SparkConf().setAppName("UpdateLocation").setMaster("local[2]")
  val sc = new SparkContext(conf)
  var conn: Connection = null
  var ps: PreparedStatement = null
  try {
   val sql = "update location_info set location=? where id = ?";
   conn = DriverManager.getConnection("jdbc:mysql://192.168.126.31:3306/sparkdatabase?useUnicode=true&characterEncoding=utf-8", "root", "Zhm@818919")
   ps = conn.prepareStatement(sql)
   ps.setString(1, "深圳")
   ps.setInt(2,26)
   ps.execute()
  } catch {
   case e: Exception => println("myException")
  } finally {
   if (conn != null) {
    conn.close()
   }
   if (ps != null) {
    ps.close()
   }
  }
  sc.stop()
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Scala中的mkString的具体方法

    1.mkString()方法的使用: mkString(seq:String)方法是将原字符串使用特定的字符串seq分割. mkString(statrt:String,seq:String,end:String)方法是将原字符串使用特定的字符串seq分割的同时,在原字符串之前添加字符串start,在其后添加字符串end. object Test { def main(args: Array[String]): Unit = { var name : String = "Hello Little

  • scala 读取txt文件的方法示例

    文件格式分别如下 package txt object ReadTxt { def readFromTxtByLine(filePath:String) = { //导入Scala的IO包 import scala.io.Source //以指定的UTF-8字符集读取文件,第一个参数可以是字符串或者是java.io.File val source = Source.fromFile(filePath, "UTF-8") //或取文件中所有行 //val lineIterator = s

  • Scala中正则表达式以及与模式匹配结合(多种方式)

    正则表达式 //"""原生表达 val regex="""([0-9]+)([a-z]+)""".r val numPattern="[0-9]+".r val numberPattern="""\s+[0-9]+\s+""".r 说明:.r()方法简介:Scala中将字符串转换为正则表达式 /** You can follow a st

  • IntelliJ IDEA下Maven创建Scala项目的方法步骤

    环境:IntelliJ IDEA 版本:Spark-2.2.1 Scala-2.11.0 利用 Maven 第一次创建 Scala 项目也遇到了许多坑 创建一个 Scala 的 WordCount 程序 第一步:IntelliJ IDEA下安装 Scala 插件 安装完 Scala 插件完成 第二步:Maven 下 Scala 下的项目创建 正常创建 Maven 项目(不会的看另一篇 Maven 配置) 第三步:Scala 版本的下载及配置 通过Spark官网下载页面http://spark.a

  • scala中常用特殊符号详解

    =>(匿名函数)  => 匿名函数,在Spark中函数也是一个对象可以赋值给一个变量. Spark的匿名函数定义格式: (形参列表) => {函数体} 所以,=>的作用就是创建一个匿名函数实例. 比如:(x:Int) => x +1 ,就等同于下面的Java方法: public int function(int x) { return x+1; } 示例: class Symbol { var add = (x: Int) => x + 1 } object test2

  • 详解Java中的scala正则表达式

    Scala 通过 scala.util.matching 包中的 Regex 类来支持正则表达式. eg:使用正则表达式查找单词 Scala 实例中使用 String 类的 r() 方法构造了一个Regex对象.(也可直接new一个Regex对象实例)然后使用 findFirstIn 方法找到首个匹配项.如果需要查看所有的匹配项可以使用 findAllIn 方法. 可以使用 mkString( ) 方法来连接正则表达式匹配结果的字符串,并可以使用管道(|)来设置不同的模式: 如果需要将匹配的文本

  • Scala之文件读取、写入、控制台操作的方法示例

    Scala文件读取 E盘根目录下scalaIO.txt文件内容如下: 文件读取示例代码: //文件读取 val file=Source.fromFile("E:\\scalaIO.txt") for(line <- file.getLines) { println(line) } file.close 说明1:file=Source.fromFile("E:\scalaIO.txt"),其中Source中的fromFile()方法源自 import scala

  • Scala常用List列表操作方法示例

    把Scala List的几种常见方法梳理汇总如下,日常开发场景基本上够用了. 创建列表 scala> val days = List("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday") days: List[String] = List(Sunday, Mon

  • 使用Scala生成随机数的方法示例

    一.使用Scala生成随机数 1.简单版本: /* 1.you can use scala.util.Random.nextInt(10) to produce a number between 1 and 10 2.at the same time,you nextInt(100) to produce a number between 1 and 100 */ object Test { def main(args: Array[String]) { var i = 0 while(i <

  • scala 操作数据库的方法

    1.定义数据库连接 package com.web.dataSource import com.alibaba.druid.pool.DruidDataSource object MySqlDataSource { val driver = "com.mysql.jdbc.Driver" val url = "jdbc:mysql://127.0.0.1:3306" val username = "root" val password = &qu

  • PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)

    本文实例讲述了PHP入门教程之使用Mysqli操作数据库的方法.分享给大家供大家参考,具体如下: Demo1.php <?php //使用 mysqli 对象操作数据库 //创建 mysqli 对象(资源句柄) $_mysqli = new mysqli(); //连接数据库 1.主机名(ip) 2.账户 3.密码 4.数据库 //mysqli_connect 函数 == $_mysqli -> connect(); $_mysqli -> connect('localhost','ro

  • C#使用SQLDMO操作数据库的方法

    本文实例讲述了C#使用SQLDMO操作数据库的方法.分享给大家供大家参考.具体分析如下: SQLDMO.dll是随SQL Server2000一起发布的.SQLDMO.dll自身是一个COM对象 SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装 Microsoft SQL Server 2000 数据库中的对象.SQL-DMO 允许用支持自动化或 COM 的语言编写应用程序,以管理 SQL Server 安装的所有部分.SQL-DMO

  • Django基于ORM操作数据库的方法详解

    本文实例讲述了Django基于ORM操作数据库的方法.分享给大家供大家参考,具体如下: 1.配置数据库 vim settings #HelloWorld/HelloWorld目录下 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #mysql数据库中第一个库test 'NAME': 'test', 'USER': 'root', 'PASSWORD': '123456', 'HOST':'127.0.0.1', '

  • Yii2框架操作数据库的方法分析【以mysql为例】

    本文实例讲述了Yii2框架操作数据库的方法.分享给大家供大家参考,具体如下: 准备数据库 DROP TABLE IF EXISTS `pre_user`; CREATE TABLE `pre_user`( `id` int(11) AUTO_INCREMENT PRIMARY KEY, `username` varchar(255) NOT NULL, `password` varchar(32) NOT NULL DEFAULT '', `password_hash` varchar(255)

  • Django 迁移、操作数据库的方法

    文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 我们已经编写了博客数据库模型的代码,但那还只是 Python 代码而已,django 还没有把它翻译成数据库语言,因此实际上这些数据库表还没有真正的在数据库中创建. 迁移数据库 为了让 django 完成翻译,创建好这些数据库表,我们再一次请出我的工程管理助手 manage.py.切换到 manage.py 文件所在的目录(项目根目录)下,分别运行 pipenv run python manage.py makemigra

  • Python 中使用 PyMySQL模块操作数据库的方法

    之前用的Python2,连接MySQL用的是MySQLdb.现在换成python3.x了,由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 PyMySQL模块,以下将介绍PyMySQL的安装及常用操作. 一.安装 pip install PyMySQL 二.常用操作 查询数据 import pymysql # 连接数据库 conn = pymysql.connect( host='127.0.0.1', user='root', pa

  • Python 解析pymysql模块操作数据库的方法

    pymysql 是 python 用来操作MySQL的第三方库,下面具体介绍和使用该库的基本方法. 1.建立数据库连接 通过 connect 函数中 parameter 参数 建立连接,连接成功返回Connection对象 import pymysql #建立数据库连接 connection = pymysql.connect(host = 'localhost', user = 'root', password = '123456', database = 'mydb', charset =

  • linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql

    1. MySQL的安装与配置: 在Ubuntu下安装MySQL方法很简单,使用如下命令: 复制代码 代码如下: sudo apt-get install mysql-server 安装的过程中系统会提示设置root密码,此过程可以跳过,但是建议在安装时提示设置root密码的时候自行设置,免得后面设置麻烦.安装结束之后,系统会启动mysql服务,可以使用命令去查看来验证mysql服务是否已经安装成功: 复制代码 代码如下: ps -el | grep mysql 如果mysql服务没有正常的运行,

  • SQLServer数据库误操作恢复的方法

    目录 前言 一.恢复数据实例 1.创建初始数据 2.保证数据恢复的前提条件 3.模拟不小心误操作 4.开始恢复 二.恢复数据原理 1.数据库文件类型 2.使用bak恢复数据原理 总结 参考 前言 在日常开发工作中,有可能会存在数据库的误操作,比如不小心删除了一个表或者删除了一堆数据,这个时候我们就需要将数据库进行恢复,恢复到误操作以前的状态,而这篇文章就是主要如何在误操作之后,恢复数据库的数据. 一.恢复数据实例 1.创建初始数据 use master if exists (select * f

随机推荐