🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

3115閲覧

Java DB(PostgreSQL)に接続する

Ryuasfads

総合スコア1

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2021/03/30 11:47

前提・実現したいこと

開発環境 Java11 DB:postgreSQL IDE:Eclipse
javaにてpostgreSQLに接続しデータを取ってくる。
WEBページのログイン機能を実装するためDAOクラスを作成し、データベース(DB名:instagram テーブル名:iuser)からデータをとってこようとしているのですが、DBに接続の段階でエラーが発生しています。JDBCドライバはWEB-INF/libに配置しています。SQL文にも問題はないので原因がわかりません。

発生している問題・エラーメッセージ

org.postgresql.util.PSQLException: SSL接続のセットアップ中に、エラーが起こりました。

###ソースコード

java

1package dao; 2 3import java.sql.Connection; 4import java.sql.DriverManager; 5import java.sql.PreparedStatement; 6import java.sql.ResultSet; 7import java.sql.SQLException; 8import java.sql.Statement; 9import java.util.ArrayList; 10import java.util.HashMap; 11import java.util.Map; 12 13import model.User; 14 15public class UserDAO { 16 // データベース接続に使用する情報 17 final String URL = "jdbc:postgresql://localhost:8080/instagram"; 18 final String USER = "postgres"; 19 final String PASSWORD = "test"; 20  public User disp(String id) { 21 User user = null; 22  try { 23 /* postgreSQL接続に使用する情報*/ 24 Connection con = null; 25 Statement st = null; 26 ResultSet rs = null; 27 28 /* 2) JDBCドライバの定義 */ 29 Class.forName("org.postgresql.Driver"); 30 31 /* 3) PostgreSQLへの接続 */ 32 con = DriverManager.getConnection(URL, USER, PASSWORD); 33 st = con.createStatement(); 34 35 /* select文の準備*/ 36 String sql = "SELECT user_id, password FROM iuser where user_id = ? ; "; 37 PreparedStatement pStmt = con.prepareStatement(sql); 38 pStmt.setString(1, id); 39 40 //sql文を実行し結果表を取得 41 rs = pStmt.executeQuery(); 42 43 //取得したデータでUserインスタンス(java beans)を生成 44 String user_id = rs.getString("user_id"); 45 String password = rs.getString("password"); 46 user = new User(user_id, password); 47 48 // PostgreSQLとの接続を切断 */ 49 rs.close(); 50 st.close(); 51 con.close(); 52 53} catch (Exception e) { 54 System.out.println("DBアクセス時にエラーが発生しました。"); 55 e.printStackTrace(); 56   } 57 return user; 58} 59

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/03/30 12:05

PostgreSQL のデフォルトのポート番号は 5432 だと思いますが、8080 で合ってますか? (普通は省略で良いような…。)
Ryuasfads

2021/03/30 12:20

5432でやってみましたが失敗でした。>< 省略の場合どのような記述になるのでしょうか??
hoshi-takanori

2021/03/30 12:26

jdbc:postgresql://localhost/instagram ですね。あと rs.next() したら動きましたけど。
m.ts10806

2021/03/30 16:00

ドライバーのバージョンがPostgreSQLのバージョンに対応してないとかはないですか?マイナーバージョンも含めて提示してください。
Ryuasfads

2021/03/30 23:46

@hoshi-takanoriさん コンパイルエラーは無いのですが、DBへの接続でエラーが発生しています。DBに接続できましたか??
Ryuasfads

2021/03/30 23:46

@m.ts10806さん バージョン確認してみます!
guest

回答1

0

自己解決

ポート番号が間違っていました!
ありがとうございました。

投稿2021/03/31 23:05

Ryuasfads

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問