java 连接 postgresql_java如何连接数据库并对其操作(以PostgreSQL为例)
nblogs-markdown">
java如何連接數據庫并對其操作(以PostgreSQL為例)相關概念
JDBC(Java Data Base Connectivity)是一種用于執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它是一組用java語言編寫的類和接口組成。JDBC提供了一種基準,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序
數據庫驅動:我們安裝好數據之后,我們的應用程序不能直接使用數據庫,必須通過相應的數據庫驅動程序,通過驅動程序去和數據庫打交道。其實也就是數據廠商的JDBC接口實現,即對connection等接口的實現類的jar文件
常用接口常用Statement方法:next();移動到下一行
Previous();移動到前一行
absolute(int row);移動到指定行
beforeFirst();移動到最前面
afterLast();移動到最后面
execute(String sql):運行語句,返回是否有結果集
executeQuery(String sql):運行select語句,返回ResultSet結果集
executeUpdate(String sql):運行insert/update/delete操作,返回更新的行數
Statement:由CreateStatement創建,用于發送簡單的SQL語句
PreparedStatement:可以防止sql注入
CallableStatement:ResultSet接口
ResultSet提供檢索不同類型字段的方法,常用有:getString(int index/String columnName),getFloat(int index/String columnName),getBoolean(int index/String columnName),getObject(int index/String columnName)--獲取數據庫中任意類型的數據
ResultSet還提供了對結果進行滾動的方法:Driver接口
Driver接口由數據庫廠家提供,作為java開發人員,只需要使用Driver接口就可以了。在編程中要連接數據庫,必須先裝載特定的數據庫驅動程序,以PostgreSQL驅動裝載為例:Class.forName("org.postgresql.Driver");
Connection接口
Connection與特定數據庫的連接(會話),在連接上下文中執行sql語句并返回結果,DriverManager.getConnection(url,user,password)方法建立在JDBC URL中定義的數據庫Connection連接上,以連接PostgreSQL為例:Connection connection=DriverManager.getConnection("jdbc:postgresql://172.16.55.190:5432/thingsboard",user,password);(設置自己的ip地址,端口號,thingsboard為數據庫名稱)
Statement接口
用于執行靜態sql語句并返回它所生結果的對象
三種Statement類:
~使用后依次關閉對象及連接:ResultSet->Statement->Connection~
實現步驟:下載驅動(jar包)
驅動的下載地址:jar包
eclipse導入jar包
右鍵點擊創建的項目新建文件夾,文件夾命名為“lib",將下載的jar包復制到lib文件夾中,右鍵點擊導入的jar包,找到構建路徑,點擊添加構建路徑
實現代碼:
```java
package Test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class SelectTest {public?static?void?main(String[]?args)?{
Connection?connection?=?null;
Statement?statement?=?null;
try?{
String?url?=?"jdbc:postgresql://172.16.55.190:5432/thingsboard";//換成自己PostgreSQL數據庫實例所在的ip地址,并設置自己的端口
String?user?=?"postgres";
String?password?=?"123456";??//在這里我的密碼為空,讀者可以自己選擇是否設置密碼
Class.forName("org.postgresql.Driver");
connection=?DriverManager.getConnection(url,?user,?password);
//System.out.println("是否成功連接pg數據庫"+connection);
String?sql?="select?*?from?public.syuser";
statement?=?connection.createStatement();
ResultSet?resultSet?=?statement.executeQuery(sql);
while(resultSet.next()){
//取出列值
String?id?=?resultSet.getString(2);
String?name?=?resultSet.getString(8);
System.out.println(id+""+name);
}
resultSet.close();
statement.close();
connection.close();
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
}
語句解析:String url = "jdbc:postgresql://172.16.55.190:5432/thingsboard";
jdbc:協議 postgresql:子協議 172.16.55.190:主機 5432:端口 thingsboard:數據庫
創建執行語句的statement
String sql="insert into user(name,pwd) values(?,?)";
PrearedStatement ps = conn.preparedStatement(sql);
ps.setString(1,"col_value");//占位符從第一位開始
ps.setString(2,"123435")
ps.executeQuery();
處理執行結果的ResultSet
ResultSet rs=ps.executeQuery();
While(rs.next()){
rs.getString("col_name");
rs.getInt(1);
}
釋放資源
resultSet.close();
statement.close();
connection.close();
本博客部分內容參考自https://www.cnblogs.com/erbing/p/5805727.html
總結
以上是生活随笔為你收集整理的java 连接 postgresql_java如何连接数据库并对其操作(以PostgreSQL为例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java鼠标图片裁剪,如何用Java中的
- 下一篇: php反序列化java_PHP反序列化漏