亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java操作gaussDB數(shù)據(jù)庫的實現(xiàn)示例

 更新時間:2022年07月21日 14:07:17   作者:北極的企鵝88  
本文主要介紹了java操作gaussDB數(shù)據(jù)庫的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文主要介紹了java操作gaussDB數(shù)據(jù)庫的實現(xiàn)示例,分享給大家,具體如下:

package com.shiwusuo.ReadHdfsToClickHouse.gauss

import java.sql.{Connection, DriverManager}
import java.util.Properties

import org.apache.spark.sql.DataFrame

import scala.collection.mutable.ArrayBuffer;

object GaussDBUtils {

  val urls = application.gaussURL //數(shù)據(jù)庫URL
  val username = application.gaussName //用戶名
  val password = application.gaussPass //密碼
  val database = application.gaussDatabase
  val gaussCreateDatabase = application.gaussCreateDatabase
  //val driver = "org.postgresql.Driver"
  val driver = application.driver
  var conn: Connection = null;

  def getConnection(): Connection = {
    try {
      Class.forName(driver)
      conn = DriverManager.getConnection(urls, username, password)
      conn
    } catch {
      case e: Throwable => e.printStackTrace()
        println("連接gaussDB失敗===請檢查原因")
        conn
    }
  }

  //創(chuàng)建表
  def createGaussTable(sql: String): Unit = {
    try {
      val connection = getConnection()
      val statement = connection.createStatement()
      statement.executeUpdate(sql)
      statement.close()
    } catch {
      case e: Exception =>
        e.printStackTrace()
    }

  }

  //判斷是否存在該表
  def tableExists(database: String, tablName: String): Boolean = {
    val connection = getConnection()
    val set = connection.getMetaData.getTables(null, database, tablName, null)
    if (set.next()) {
      return true
    } else {
      println("gaussDB中" + tablName + "不存在")
      return false
    }
  }

  //創(chuàng)建數(shù)據(jù)庫
  def createDatabase(): Unit = {
    val connection = getConnection()
    val statement = connection.createStatement()
    statement.executeUpdate(gaussCreateDatabase)
    statement.close()
  }

  //查詢 、執(zhí)行sql語句
  def ReadFromGaussDB(sql: String): Unit = {
    try {
      val connection = getConnection()
      val statement = connection.createStatement()
      val set = statement.executeQuery(sql)
      while (set.next()) {
        val str = set.getString(2)
        println(str)
      }
    }catch {
      case e: Exception =>
        e.printStackTrace()
    }
  }

  //獲取gaussDB中所有表名
  def getTablesByGaussDB(db: String) :ArrayBuffer[String]={
    val tablesList = new ArrayBuffer[String]()
    val connection = getConnection()
    val set = connection.getMetaData.getTables(null,db,null,null)
    while (set.next()) {
      val str: String = set.getString("TABLE_NAME")
      tablesList += str
      // println(str)
    }
    tablesList
  }

  //根據(jù)resourceId刪除gaussDB數(shù)據(jù)
  def deleteDataByResourceId(sql:String): Unit ={
      val connection = getConnection()
      val statement = connection.createStatement()
      statement.executeUpdate(sql)
  }



  //插入gaussDB庫中
  def insertgaussDBTable(table: String, df: DataFrame): Unit = {
    val connectionProperties = new Properties()
    connectionProperties.setProperty("user", username)
    connectionProperties.setProperty("password", password)
    println("+++++++開始寫入GaussDB++++++" + table + "共有" + df.count())
    df.write.mode("append").option("batchsize", "50000").option("isolationLevel", "NONE").
      option("numPartitions", "1").jdbc(urls, table, connectionProperties)
    println("=================GaussDB完成寫入========" + table + "====================")
  }


  def main(args: Array[String]): Unit = {
    //val bool = tableExists("gaussdb","test_01087")
    //println(bool)
    //val a = "CREATE TABLE gaussdb.CDPCP\n       (\n         code bigint NULL,\n        ident bigint NULL,\n        len bigint NULL,\n        lineNum1 bigint NULL,\n        lineNum2 bigint NULL,\n        lineNum3 bigint NULL,\n        lineNum4 bigint NULL,\n        lineName varchar(10000000) NULL,\n        begTime bigint NULL,\n        endTime bigint NULL,\n        comDur bigint NULL,\n        meanID varchar(10000000) NULL,\n        siteID varchar(10000000) NULL,\n        unitID varchar(10000000) NULL,\n        taskID varchar(10000000) NULL,\n        guid bigint NULL,\n        storTime bigint NULL,\n        mdSecDeg varchar(10000000) NULL,\n        fileSecDeg varchar(10000000) NULL,\n        secDegPro varchar(10000000) NULL,\n        ipVer bigint NULL,\n        srcAddr varchar(10000000) NULL,\n        dstAddr varchar(10000000) NULL,\n        srcPort bigint NULL,\n        dstPort bigint NULL,\n        protNum bigint NULL,\n        srcAddrV6 varchar(10000000) NULL,\n        dstAddrV6 varchar(10000000) NULL,\n        srcLoc varchar(10000000) NULL,\n        dstLoc varchar(10000000) NULL,\n        srcISP varchar(10000000) NULL,\n        dstISP varchar(10000000) NULL,\n        srcAS varchar(10000000) NULL,\n        dstAS varchar(10000000) NULL,\n        protInfo varchar(10000000) NULL,\n        linkInfo varchar(10000000) NULL,\n        protType varchar(10000000) NULL,\n        protName varchar(10000000) NULL,\n        mulRouFlag bigint NULL,\n        intFlag bigint NULL,\n        strDirec bigint NULL,\n        pktNum bigint NULL,\n        payLen bigint NULL,\n        hashId bigint NULL,\n        sessionID varchar(10000000) NULL,\n        resourceId varchar(10000000) NULL\n       )"
    //createGaussTable(a)
    //createtable
   // ReadFromGaussDB("select * from test_0110.user")
    //val strings = getTablesByGaussDB("test_0301")
    //strings.foreach(println)
    //DELETE FROM test_0110.AOE WHERE resourceId = 518824231216091205
    val b ="DELETE FROM test_0110.\"ANS\" WHERE \"resourceId\" = '518824231216091205'"
    println(b)
    deleteDataByResourceId(b)
  }
}

到此這篇關(guān)于java操作gaussDB數(shù)據(jù)庫的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)java操作gaussDB內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot中jar打包并部署到Tomcat

    SpringBoot中jar打包并部署到Tomcat

    最近做了一個SpringBoot項目,今天介紹一下SpringBoot中jar打包并部署到Tomcat,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Java事務(wù)管理學(xué)習(xí)之Hibernate詳解

    Java事務(wù)管理學(xué)習(xí)之Hibernate詳解

    hibernate是jdbc輕量級的封裝,本身不具備事務(wù)管理的能力,在事物管理層面,一般是委托于底層的jdbc和jta來完成調(diào)度的。下面這篇文章主要給大家介紹了Java事務(wù)管理學(xué)習(xí)之Hibernate的相關(guān)資料,需要的朋友可以參考下。
    2017-03-03
  • SpringBoot初始化接口CommandLineRunner示例詳解

    SpringBoot初始化接口CommandLineRunner示例詳解

    這篇文章主要介紹了SpringBoot初始化接口CommandLineRunner,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • Java運行Jar包內(nèi)存配置的操作

    Java運行Jar包內(nèi)存配置的操作

    這篇文章主要介紹了Java運行Jar包內(nèi)存配置的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • java圖搜索算法之圖的對象化描述示例詳解

    java圖搜索算法之圖的對象化描述示例詳解

    這篇文章主要為大家介紹了java圖搜索算法之圖的對象化描述示例詳解,可以帶你秒殺所有的圖搜索算法,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Java利用Request請求獲取IP地址的方法詳解

    Java利用Request請求獲取IP地址的方法詳解

    在開發(fā)中我們經(jīng)常需要獲取用戶IP地址,通過地址來實現(xiàn)一些功能,下面這篇文章主要給大家介紹了關(guān)于Java利用Request請求獲取IP地址的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • Java多線程編程中使用DateFormat類

    Java多線程編程中使用DateFormat類

    這篇文章主要介紹了Java多線程編程中使用DateFormat類,文中介紹了三種相關(guān)的并發(fā)使用方法,需要的朋友可以參考下
    2015-07-07
  • 基于Java代碼實現(xiàn)支付充值的通用流程

    基于Java代碼實現(xiàn)支付充值的通用流程

    本文給大家分享一段java核心代碼實現(xiàn)支付充值的通用流程,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-05-05
  • JAVA容器集合全面解析(Collection和Map)

    JAVA容器集合全面解析(Collection和Map)

    這篇文章主要介紹了JAVA容器集合全面解析(Collection和Map)本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • 詳解SpringBoot如何正確解析日期格式

    詳解SpringBoot如何正確解析日期格式

    這篇文章主要介紹了SpringBoot如何正確解析日期格式,文中給出了兩種解決方案,通過代碼示例講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03

最新評論