Eclipse で PostgreSQL に接続する

投稿者: | 2014年6月29日

Eclipse  で PostgreSQL に接続します。

 

ドライバのインストール

スタートメニューから PostgreSQL 9.3 →Application Stack Builder

スタックビルダが起動しますので、

「PostgreSQL ~(略)」を選択して「次へ」

「Database Drivers」→「pgJDBC~(略)」にチェックして「次へ」

後は全部そのまま進めてインストールします。

 

C:Program Files (x86)PostgreSQLpgJDBCpostgresql-9.3-1100.jdbc4.jar

Eclipse の実行環境の lib フォルダ

C:pleiadestomcat7lib

にコピーします。

 

接続設定のコンテキストの作成

PostgreSQL に接続するプロジェクトに接続設定のコンテキストを追加します。

プロジェクトの WebContent/META-INF フォルダを右クリックして、新規→ファイル

context.xml

を追加してください。

内容は以下のようにします。

<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource
name="jdbc/datasource"
auth="Container"
type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql:(DB名)"
username="(DBアカウント)"
password="(パスワード)"
/>
</Context>

 

プログラム

プログラムは以下のようにします。

サーブレットの doGET で実行する内容です。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// データソースの取得
DataSource ds = null;
try {
InitialContext ctx = new InitialContext();
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/datasource");
} catch (NamingException e) {
e.printStackTrace();
}

try {
// データベースとの接続
Connection con = ds.getConnection();

// SQL実行
Statement stmt = con.createStatement ();
String sql = "SELECT 1234 AS NUM";
ResultSet rs = stmt.executeQuery (sql);

// SQL結果を出力
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();

while(rs.next()){
out.println("NUM:" + rs.getInt("NUM"));
}

out.close();

// データベースのクローズ
rs.close();
stmt.close();
con.close();

} catch (SQLException e) {
e.printStackTrace ();
}
}

「NUM:1234」と表示されれば OK です。

 

カテゴリー: Java

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload the CAPTCHA.