使用JDBC連接資料庫的範例,先準備連結 postgresql 需要的 jar檔(postgresql-8.4-701.jdbc4.jar)
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 ConnToPostgresql {
//show all tables in database
public static String COMM_SHOW_ALLTABLES = "select * from information_schema.tables" +
" where table_schema not in ('information_schema','pg_catalog')";
//show all databases
public static String COMM_SHOW_ALLDATABASE = "select * from pg_database";
//show size of databases(pg_database_size() support 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;
public 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);
// String url = "jdbc:postgresql://localhost:5432/test1225";
url = "jdbc:postgresql://" + ipNum + ":" + portNum + "/"
+ dbName;
try {
if (userName == null && passWord == null) {
conn = DriverManager.getConnection(url);
} else {
conn = DriverManager.getConnection(url, userName, passWord);
}
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public Connection getConn(){
return conn;
}
}
只要建立 ConnToPostgresql 物件,在建構子中傳入帳號和密碼,就能建立和資料庫連線