2014年12月3日 星期三

「Java」Java 連結Postgresql

PostgreSQL 是由散佈在全球的數百名開發者(包含非營利/營利組織團體,學術研究機構及國際型企業體)的志願貢獻與共同開發的累積經驗成果,歷今23年來持續發展。長久以來服務於要求極端嚴謹的商業應用/科學研究環境及政府組織中。PostgreSQL 為 BSD 版權協議發佈,允許您在商業或非商業應用的兩種環境下均享有自由取得且不受版權限制的自主使用權甚至延伸功能。PostgreSQL 具有高度擴展性,且完整遵從國際 ISO-SQL 規範的開發方向,是當前全球最先進的開放源始碼(OSS)的物件關聯型資料庫管理系統(ORDBMS)。

以下是postgresql 的資料儲存特性 ,資料庫大小沒有上限,單一個Table可以到32TB 等等















資料來源
http://postgresql-chinese.blogspot.tw/



一、 首先下載Postgresql JDBC 

http://jdbc.postgresql.org/

依據您的JDK 版本,例如1.7 或1.8 則需要選擇JDBC 41那一欄,最左欄則是您的Postgresql 版本。如下表所示




二、 把JDBC 加到專案中

以Netbean為例


















































加入成功後會看的到在Libraries中出現剛才加入的JAR



























以Eclipse為例


















































加入成功後會看的到在Referenced Libraries中出現剛才加入的JAR













三、animal資料表











四、程式碼範例

連線字串說明
 String url = "jdbc:postgresql://IP位址/資料庫名稱?"
                + "user=使用者名稱&password=密碼";

完整程式碼

import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DemoPostgresqlJDBC {

    public static void main(String[] args) throws SQLException {
        Connection conn;
        String url = "jdbc:postgresql://localhost/demo?"
                + "user=postgres&password=ilovejava";
        String sql = "SELECT id, name, color FROM animal;";
        try {
            //載入驅動器
            Class.forName("org.postgresql.Driver");
            //取得Connection(取得成功表示己與資料庫連上線)
            conn = DriverManager.getConnection(url);
            //建立Statement (下SQL就靠它)
            Statement st = (Statement) conn.createStatement();
            //查詢資料(把查到的資料放進ResultSet)
            ResultSet rs = st.executeQuery(sql);
            //讀取ResultSet中的資料
            while (rs.next()) {
                //id 是數值列態
                System.out.print(rs.getInt("id") + "\t");
                //name 及 color 是String列態
                System.out.print(rs.getString("name") + "\t");
                System.out.print(rs.getString("color") + "\n");
            }
        } catch (ClassNotFoundException e) {
            System.exit(1);
        }
    }
}


五、執行結果


沒有留言:

張貼留言