ㅤㅤㅤ
JavaからJDBCでPostgreSQL 본문
JavaからJDBCでPostgreSQLにアクセス(トランザクション、COMMIT、ROLLBACK)
package javaPosgre;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Posgre2 {
public static void main(String[] args) {
try {
connectionTest();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* コネクションの取得
*
* @throws Exception
* 実行時例外
*/
public static void connectionTest() throws Exception {
Connection conn = null;
try {
// クラスのロード
Class.forName("org.postgresql.Driver");
// コネクションの取得
conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres", "postgres", "ps");
// 自動コミットを解除する(トランザクション開始)
conn.setAutoCommit(false);
// INSERTのテスト
insertTest(conn);
System.out.println("connectionTest_OK");
// コミット
conn.commit();
} catch (Exception e) {
// ロールバック
conn.rollback();
System.out.println("connectionTest_NG");
throw e;
} finally {
if (conn != null) {
conn.close();
}
}
}
/**
* データ取得テスト
*
* @param conn
* コネクション
* @throws SQLException
* SQL例外
*/
public static void insertTest(Connection conn) throws SQLException {
Statement stmt = null;
try {
// ステートメントの作成
stmt = conn.createStatement();
// SQLの実行(updateもexecuteUpdateメソッドでいけます)
stmt.executeUpdate("insert into m_user(id,name) values('004','test user4');");
System.out.println("selectTest_OK");
} catch (Exception e) {
System.out.println("selectTest_NG");
throw e;
} finally {
if (stmt != null) {
stmt.close();
stmt = null;
}
}
}
}
トランザクションの開始はコネクションのsetAutoCommitメソッドで行います。
// 自動コミットを解除する(トランザクション開始)
conn.setAutoCommit(false);
コミットはコネクションのcommitメソッドで行います。
// コミット
conn.commit();
ロールバックはコネクションのrollbackメソッドで行います。
// ロールバック
conn.rollback();
setAutoCommit(false)を行った後に、SQLを実行しても最終定期にcommit()しなければ、データベースに反映されません。
1. 포스트그레SQL 설치
1) 다운로드 - http://www.postgresql.org/download/windows/
2) 설치 시작
<포스트레SQL이 설치 될 폴더 설정>
<데이터를 저장할 폴더 설정>
그냥 넘겨도 된다.
<비밀번호 설정>
<포트 번호 설정>
그냥 넘겨도 된다.
<데이터베이스 클러스터 설정>
그냥 넘겨도 된다.
<진짜 설치할 건가요?>
네
<설치중...>
<플로그인과 같은 스텍 빌더 설치를 할건지 물어본다>
잘 모르면 패스하는게 마음에 편하다.
패스할 거면 체크를 풀고 끝내자.
2. JDBC 설치
1) 다운로드 - http://jdbc.postgresql.org/download.html
2) 설치
java 설치 폴더 -> ext -> 다운받은 파일 넣기
(###64비트이고 기본 폴더가 program files라면 32비트 자바에 넣으면 안됩니다.###)
출처: http://derveljunit.tistory.com/93 [IT를 보고, 듣고, 사색하고]
1. 포스트그레SQL 실행 - pgAdmin III 를 실행
2) PostgreSQL 9.3 을 클릭
3) 비밀번호는 설치시 설정한 것을 넣는다.
4) 테이블스페이스를 선택
5) 새 테이블스페이스 선택
6) 이름을 채워넣고 '정의'로 이동
7) '정의'에서는 테이블스페이스를 저장할 폴더를 선택한다.
8) 데이터베이스를 선택 -> 스키마 -> 퍼블릭에 들어오면
테이블이 있다.
9) 새 테이블 선택
10) 이름 넣고
11) 속성을 추가하기 위해'열'로 이동하여 추가 버튼을 선택
12) 이름과 데이터 형식 지정 (열-속성 값)
13) 확인을 누르면 추가가 된다.
14) 최종적으로 확인을 누른다.
14) 최종적으로 테이블이 생성 된걸 확인할 수 있다.
출처: http://derveljunit.tistory.com/94 [IT를 보고, 듣고, 사색하고]
JSP 연동 방법
참조 - http://blog.daum.net/chemusic/25
중요 포인트
<%
/** 실행결과
* JDBC Connection String Examples
*
* jdbc:postgresql:database_name
* jdbc:postgresql://host/database_name
* jdbc:postgresql://host:port/database_name
*/
String url = "jdbc:postgresql:테이블명";
String usr = "유저이름(따로 만들지 않았다면 postgres 가 됩니다)";
String pwd = "패스워드(따로 만들지 않았다면 설치시 설정한 패스워드)";
Class.forName("org.postgresql.Driver");
// -- 1
Connection conn = DriverManager.getConnection(url, usr, pwd);
System.out.println(conn);
conn.close();
// -- 2
url = "jdbc:postgresql://localhost/테이블명";
conn = DriverManager.getConnection(url, usr, pwd);
System.out.println(conn);
conn.close();
// -- 3
url = "jdbc:postgresql://localhost:5432/테이블명";
conn = DriverManager.getConnection(url, usr, pwd);
System.out.println(conn);
conn.close();
%>
안되는 점이나 의견사항있으면 댓글달아주세요
출처: http://derveljunit.tistory.com/95 [IT를 보고, 듣고, 사색하고]
■概要
とにかくちょろっと使いたい人向け
Windows版です。
※はじめに、ユーザーを新しく作ってそのユーザーでSQLを実行! とやろうとするとハマるので(ハマりました)
初めから登録されているスーパーユーザーで進めて行きます。
ざっくりと流れを説明すると、
1.PostgreSQL本体とJDBCドライバを入手する
2.Javaで新規プロジェクトを作成し、jarを参照し、ソースコードをコピペする
3.実行!
と言った感じです。
初期から存在しているテーブルを参照しに行くので、準備のためのCREATE文もINSERT文も必要ありません。
■準備
・PostgreSQL本体の入手
http://www.postgresql.jp/download
ダウンロードリンクから、OSに対応したPostgreSQLをダウンロードする
・JDBCドライバの入手
JavaでPostgreSQLへ接続するためにはJDBCドライバが必要
https://jdbc.postgresql.org/download.html
Current Versionからダウンロードするドライバを選択。
Java8の場合は、
を選択。(バージョン部分は2016/11/18時点)
Java8以外の場合は、
Other Versionsを見るとJDKに対してどれを選択したら良いのかが書いてある。
ダウンロード後、解答し、jarファイルを適当な場所に置いておく。
■PostgreSQLのインストール
何も変更しないで次に進んでいく。
パスワードを決める箇所があるので、入力しパスワードをメモしておく(重要)。
■Javaのプロジェクトを作成
・新規作成
ProjectName:ConnectPostgreSample(すでに存在しているので、画像は名前の末尾に2をつけています)
・メインクラスの作成
Name:Main(すでに存在しているので、画像は名前の末尾に2をつけています)
・JDBCのjarを参照する
プロジェクトを右クリック -> Build Path -> Add External Archives
・以下のコードをコピペする
作成したメインクラスに以下のコードをコピペします。
・実行する
※pg_shadowテーブルは最初から存在するユーザー情報が格納されているテーブルなので、
テーブルを作ることも、データを入れることもせずに使うことが出来ます。
■以上
新人さんにPostgreSQLをとりあえず試してもらいたい時などにご利用ください。
続き
コマンドプロンプトからPostgreSQLに接続します。
'プログラミング > Postgre' 카테고리의 다른 글
Windows(윈도우) PostgreSQL 64Bit(비트) 설치 (0) | 2017.07.20 |
---|