日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在scala中访问postgresql(使用sbt)

發布時間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在scala中访问postgresql(使用sbt) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

默認已經安裝了scala和SBT,并且對sbt有基本了解,知道怎樣用sbt建立一個工程。

添加依賴

要在scala中使用postgresql數據庫,需要導入postgresql驅動相關的庫文件,postgresql的庫文件,可以去其官網上下載,一定要下載和你的scala、Jdk對應的版本。現在有兩種途徑可以在scala工程編譯時添加這個postgresql庫:
1. 自己下載這個依賴庫,是一個jar文件,把這個文件放到sbt工程目錄下的lib\下
2. 不用自己下載這個依賴庫,在build.sbt中聲明依賴這個文件,在編譯的過程中sbt會自動下載這個庫文件,并添加這個庫。在sbt的幫助文件中告訴了如何添加這個依賴的語法

libraryDependencies += groupID % artifactID % revision % configuration

那么現在問題來了,我只知道我需要postgresql,哪里知道groupID、artifactID這些東東是什么,給大家一個匯合了許多庫文件的網站, 在這個網站中搜索postgresql,在搜索結果中就給出了postgresql驅動庫的groupID、artifactID這些信息

根據這些信息,就知道應該在build.sbt文件中這么寫依賴項了

libraryDependencies += “org.postgresql” % “postgresql” % “9.4-1201-jdbc41” % “provided”

整個build.sbt就是

name := "Task3" version := "1.0" scalaVersion := "2.10.5" libraryDependencies += "org.postgresql" % "postgresql" % "9.4-1201-jdbc41" % "provided"

這么寫了之后,編譯應該不會出問題了,使用sbt package可以講工程打包成jar。但是仍然不能運行,運行會出現class not found之類的錯誤。因為還需要把postgresql依賴庫文件的位置添加到Java的classpath中,這樣運行就不會出問題了。

使用postgresql

基本查詢

val conn_str = "jdbc:postgresql://IP地址:端口號/數據庫名稱" classOf[com.mysql.jdbc.Driver] // 使用上一句可能會有warning,因為這是一個表達式,可以換成下面的 // Class.forName("org.postgresql.Driver").newInstance val conn = DriverManager.getConnection(conn_str, "用戶名稱", "密碼") val conn = DriverManager.getConnection(conn_str) try {// Configure to be Read Onlyval statement = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)// Execute Queryval rs = statement.executeQuery("SELECT quote FROM quotes LIMIT 5")// Iterate Over ResultSetwhile (rs.next) {println(rs.getString("quote"))}}finally {conn.close }

表操作(Insert,update,delete)

val dbc = "jdbc:mysql://localhost:3306/DBNAME?user=DBUSER&password=DBPWD"classOf[com.mysql.jdbc.Driver]// 這是另外一種寫法,把用戶名和密碼都寫在一起val conn = DriverManager.getConnection(dbc)val statement = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE)// do database inserttry {val prep = conn.prepareStatement("INSERT INTO quotes (quote, author) VALUES (?, ?) ")prep.setString(1, "Nothing great was ever achieved without enthusiasm.")prep.setString(2, "Ralph Waldo Emerson")prep.executeUpdate}finally {conn.close}

總結

以上是生活随笔為你收集整理的在scala中访问postgresql(使用sbt)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。