Java DB接続確認(Oracle Express Edition)

初歩の初歩ですが、毎度PCの中漁っては(メモ情報を)放置、というパターンが続いているのでここで一応エントリ。

  • OracleXEを手順に従って入手、インストール。そのままだとTomcatで主に利用するポート:8080を占有しインストールを進めてしまうので、事前にTomcatを稼働させておき、別途ポート番号を入力させるようにしておく。今回はポート:8081を指定。
  • インストール完了後、ブラウザでアクセス。URLは http://localhost:8081/apex
  • SQL*Plus等でアクセスし、テーブルを作成。※毎回テーマ考えるの面倒なのでいつも『都道府県データ』にしてます。
create table MST_PREF (
    PREF_CODE CHAR(2) unique,
    PREF_NAME VARCHAR(20),
    PREF_CAP  VARCHAR(20),
    POPULATION integer
);
  • データ投入。
delete from MST_PREF;
commit;
insert into MST_PREF values('01','北海道','札幌市',5644504);
insert into MST_PREF values('02','青森県','青森市',1452977);
insert into MST_PREF values('03','岩手県','盛岡市',1396005);
insert into MST_PREF values('04','宮城県','仙台市',2369489);
insert into MST_PREF values('05','秋田県','秋田市',1161298);
insert into MST_PREF values('06','山形県','山形市',1224811);
insert into MST_PREF values('07','福島県','福島市',2106232);
insert into MST_PREF values('08','茨城県','水戸市',2991976);
insert into MST_PREF values('09','栃木県','宇都宮市',2012585);
insert into MST_PREF values('10','群馬県','前橋市',2034368);
insert into MST_PREF values('11','埼玉県','さいたま市',7057365);
insert into MST_PREF values('12','千葉県','千葉市',6042667);
insert into MST_PREF values('13','東京都','東京(新宿区)',12439663);
insert into MST_PREF values('14','神奈川県','横浜市',8726087);
insert into MST_PREF values('15','新潟県','新潟市',2449511);
insert into MST_PREF values('16','富山県','富山市',1116163);
insert into MST_PREF values('17','石川県','金沢市',1177353);
insert into MST_PREF values('18','福井県','福井市',826240);
insert into MST_PREF values('19','山梨県','甲府市',887115);
insert into MST_PREF values('20','長野県','長野市',2212392);
insert into MST_PREF values('21','岐阜県','岐阜市',2115795);
insert into MST_PREF values('22','静岡県','静岡市',3795025);
insert into MST_PREF values('23','愛知県','名古屋市',7187079);
insert into MST_PREF values('24','三重県','津市',1866282);
insert into MST_PREF values('25','滋賀県','大津市',1370803);
insert into MST_PREF values('26','京都府','京都市',2646715);
insert into MST_PREF values('27','大阪府','大阪市',8839055);
insert into MST_PREF values('28','兵庫県','神戸市',5589566);
insert into MST_PREF values('29','奈良県','奈良市',1431358);
insert into MST_PREF values('30','和歌山県','和歌山市',1052849);
insert into MST_PREF values('31','鳥取県','鳥取市',610260);
insert into MST_PREF values('32','島根県','松江市',749833);
insert into MST_PREF values('33','岡山県','岡山市',1950249);
insert into MST_PREF values('34','広島県','広島市',2878475);
insert into MST_PREF values('35','山口県','山口市',1506921);
insert into MST_PREF values('36','徳島県','徳島市',816163);
insert into MST_PREF values('37','香川県','高松市',1019335);
insert into MST_PREF values('38','愛媛県','松山市',1477307);
insert into MST_PREF values('39','高知県','高知市',803838);
insert into MST_PREF values('40','福岡県','福岡市',5056173);
insert into MST_PREF values('41','佐賀県','佐賀市',869922);
insert into MST_PREF values('42','長崎県','長崎市',1494985);
insert into MST_PREF values('43','熊本県','熊本市',1851157);
insert into MST_PREF values('44','大分県','大分市',1214563);
insert into MST_PREF values('45','宮崎県','宮崎市',1160161);
insert into MST_PREF values('46','鹿児島県','鹿児島市',1768095);
insert into MST_PREF values('47','沖縄県','那覇市',1352496);
commit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class OracleTest {

    public static void main(String[] args) {
        String prefCode = "";
        String prefName = "";
        int population = 0;

        try {
            // JDBCドライバの登録
            String driver = "oracle.jdbc.driver.OracleDriver";

            // データベースの指定
            String url = "jdbc:oracle:thin:@192.168.31.2:1521:XE"; // サーバ名またはIPアドレス+データベース名
            String user = "xxxxxxxx"; // データベース作成ユーザ名
            String password = "xxxxxxxx"; // データベース作成ユーザパスワード

            Class.forName(driver);

            // データベースとの接続
            Connection con = DriverManager.getConnection(url, user, password);

            // テーブル照会実行
            Statement stmt = con.createStatement();
            String sql = "SELECT * FROM MST_PREF";
            ResultSet rs = stmt.executeQuery(sql);

            // テーブル照会結果を出力
            while (rs.next()) {
                prefCode = rs.getString("pref_code");
                prefName = rs.getString("pref_name");
                population = rs.getInt("population");
                System.out.println("都道府県コード:[" + prefCode + "] 都道府県名:["
                        + prefName + "] 人口:[" + population + "]");
            }
            // データベースのクローズ
            rs.close();
            stmt.close();
            con.close();
        } catch (SQLException e) {
            System.err.println("SQL failed.");
            e.printStackTrace();
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }
    }
}
  • DBアクセス実行。
都道府県コード:[01] 都道府県名:[北海道] 人口:[5644504]
都道府県コード:[02] 都道府県名:[青森県] 人口:[1452977]
都道府県コード:[03] 都道府県名:[岩手県] 人口:[1396005]
都道府県コード:[04] 都道府県名:[宮城県] 人口:[2369489]
都道府県コード:[05] 都道府県名:[秋田県] 人口:[1161298]
都道府県コード:[06] 都道府県名:[山形県] 人口:[1224811]
都道府県コード:[07] 都道府県名:[福島県] 人口:[2106232]
都道府県コード:[08] 都道府県名:[茨城県] 人口:[2991976]
都道府県コード:[09] 都道府県名:[栃木県] 人口:[2012585]
都道府県コード:[10] 都道府県名:[群馬県] 人口:[2034368]
都道府県コード:[11] 都道府県名:[埼玉県] 人口:[7057365]
都道府県コード:[12] 都道府県名:[千葉県] 人口:[6042667]
都道府県コード:[13] 都道府県名:[東京都] 人口:[12439663]
都道府県コード:[14] 都道府県名:[神奈川県] 人口:[8726087]
都道府県コード:[15] 都道府県名:[新潟県] 人口:[2449511]
都道府県コード:[16] 都道府県名:[富山県] 人口:[1116163]
都道府県コード:[17] 都道府県名:[石川県] 人口:[1177353]
都道府県コード:[18] 都道府県名:[福井県] 人口:[826240]
都道府県コード:[19] 都道府県名:[山梨県] 人口:[887115]
都道府県コード:[20] 都道府県名:[長野県] 人口:[2212392]
都道府県コード:[21] 都道府県名:[岐阜県] 人口:[2115795]
都道府県コード:[22] 都道府県名:[静岡県] 人口:[3795025]
都道府県コード:[23] 都道府県名:[愛知県] 人口:[7187079]
都道府県コード:[24] 都道府県名:[三重県] 人口:[1866282]
都道府県コード:[25] 都道府県名:[滋賀県] 人口:[1370803]
都道府県コード:[26] 都道府県名:[京都府] 人口:[2646715]
都道府県コード:[27] 都道府県名:[大阪府] 人口:[8839055]
都道府県コード:[28] 都道府県名:[兵庫県] 人口:[5589566]
都道府県コード:[29] 都道府県名:[奈良県] 人口:[1431358]
都道府県コード:[30] 都道府県名:[和歌山県] 人口:[1052849]
都道府県コード:[31] 都道府県名:[鳥取県] 人口:[610260]
都道府県コード:[32] 都道府県名:[島根県] 人口:[749833]
都道府県コード:[33] 都道府県名:[岡山県] 人口:[1950249]
都道府県コード:[34] 都道府県名:[広島県] 人口:[2878475]
都道府県コード:[35] 都道府県名:[山口県] 人口:[1506921]
都道府県コード:[36] 都道府県名:[徳島県] 人口:[816163]
都道府県コード:[37] 都道府県名:[香川県] 人口:[1019335]
都道府県コード:[38] 都道府県名:[愛媛県] 人口:[1477307]
都道府県コード:[39] 都道府県名:[高知県] 人口:[803838]
都道府県コード:[40] 都道府県名:[福岡県] 人口:[5056173]
都道府県コード:[41] 都道府県名:[佐賀県] 人口:[869922]
都道府県コード:[42] 都道府県名:[長崎県] 人口:[1494985]
都道府県コード:[43] 都道府県名:[熊本県] 人口:[1851157]
都道府県コード:[44] 都道府県名:[大分県] 人口:[1214563]
都道府県コード:[45] 都道府県名:[宮崎県] 人口:[1160161]
都道府県コード:[46] 都道府県名:[鹿児島県] 人口:[1768095]
都道府県コード:[47] 都道府県名:[沖縄県] 人口:[1352496]