PostgreSQL

PostgreSQLへのJDBC接続サンプル

デフォルトスキーマの指定は接続URLの最後に ?currentSchema=sooniとパラメータ追加する事で可能となります。

package testconn;

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

public class PostgreConnectionTest {

	public static void main(String[] args) {
		PreparedStatement ps    = null;
		Connection        pconn = null;
		String selectSQL="select rid,name,kanji from ex02 "
				+ "where rid >=? and name like ?;";
		pconn = getPOSConnection();
		try {
			ps = pconn.prepareStatement(selectSQL);
			ps.setInt(1, 10);
			ps.setString(2,"sooni");

			ResultSet rsv = ps.executeQuery() ;
			while (rsv.next()) {
				System.out.println(String.format("%d,%8s,%8s"
				, rsv.getInt("rid"),rsv.getString("name"),rsv.getString("kanji") ) );
			}
			ps.close();
			pconn.close();
		} catch (SQLException e) {
			e.printStackTrace();
			System.exit(1);
		}
		System.exit(0);
	}

	public static Connection getPOSConnection()  {
		Connection pconn = null;
		final String URL  = "jdbc:postgresql://vm022:5432/myposdb";
		final String USER = "sooni";
		final String PASS = "soopass";
		try {
			pconn = DriverManager.getConnection(URL, USER, PASS);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return pconn;
	}
}
接続時にカレントスキーマを指定する場合
	public static Connection getPOSConnection()  {
		Connection pconn = null;
		final String URL  = "jdbc:postgresql://vm022:5432/myposdb?currentSchema=sooni";
		final String USER = "online_user";
		final String PASS = "online_pass";
		try {
				pconn = DriverManager.getConnection(URL, USER, PASS);
		} catch (SQLException e) {
				e.printStackTrace();
		}
		return pconn;
	}
スポンサーリンク
コピペで使う
タイトルとURLをコピーしました