使用 JDBC 連接資料庫(Postgresql)


另一個使用JDBC連接資料庫的範例,先準備 連結 postgresql 需要的 jar檔(postgresql-8.4-701.jdbc4.jar)

F_ConnToPostgresql.java
package fsql3;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
import java.util.ArrayList;

public class F_ConnToPostgresql {
    
    //顯示資料庫中所有資料表與細節
    public static String COMM_SHOW_ALLTABLES = "select * from information_schema.tables" +
            " where table_schema not in ('information_schema','pg_catalog')";
    //顯示所有資料庫
    public static String COMM_SHOW_ALLDATABASE = "select * from pg_database";
    //顯示所有資料庫的size(pg_database_size()需PostgreSQL 8.1以上才有支援 )
    public static String COMM_SHOW_DB_SIZE = "SELECT pg_database.datname," +
            " pg_size_pretty(pg_database_size(pg_database.datname)) AS size" +
            " FROM pg_database;";
    
    Connection conn;
    String driver = "org.postgresql.Driver";
    String url;
    String ipNum;
    String portNum;
    String dbName;
    String userName;
    String passWord;
    
    /**
     * 
     * @param ipnum 
     * @param portnum
     * @param dbname
     * @param username 
     * @param password
     */
    public F_ConnToPostgresql(String ipnum,String portnum,
            String dbname,String username,String password){
            
        
        ipNum = ipnum;
        portNum = portnum;
        dbName = dbname;
        userName = username;
        passWord = password;
        
        try {

            Class.forName(driver);

            // jdbc:postgresql://主機名稱:連接埠/資料庫名稱?參數1=值1&參數2=值2
            // String url = "jdbc:postgresql://localhost:5432/test1225";
            url = "jdbc:postgresql://" + ipNum + ":" + portNum + "/"
                    + dbName;

            try {
                if (userName == null && passWord == null) {
                    conn = DriverManager.getConnection(url);
                } else {
                    // url , 使用者"postgres" , 密碼"baoruh3472000"
                    conn = DriverManager.getConnection(url, userName, passWord);
                }
                
                
                
            } catch (SQLException e) {
                e.printStackTrace();
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    
    public Connection getConn(){
        return conn;
    }
}

只要建立 F_ConnToPostgresql 物件,在建構子中傳入帳號和密碼(不需要就傳 null),就能建立和資料庫連線

使用範例參考 http://zghjava.blogspot.tw/2013/02/jdbc.html