デフォルトスキーマの指定は接続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;
}