ubunut13.04 にoracle javaをインストールの後 + postgreSQL

apt-getをたたいて以下までもってくる
apt-get install postgresqlを叩くとdaisyChainでついてくる?かな?

[hirasawa@ubuntu1204-20 lib]$ dpkg -l | grep postgres
ii  postgresql                                     9.1+129ubuntu1                                      object-relational SQL database (supported version)
ii  postgresql-9.1                                 9.1.13-0ubuntu0.12.04                               object-relational SQL database, version 9.1 server
ii  postgresql-client-9.1                          9.1.13-0ubuntu0.12.04                               front-end programs for PostgreSQL 9.1
ii  postgresql-client-common                       129ubuntu1                                          manager for multiple PostgreSQL client versions
ii  postgresql-common                              129ubuntu1                                          PostgreSQL database-cluster manager
[hirasawa@ubuntu1204-20 lib]$

インストールすると自動的に起動するみたいだね。楽ちん

ユーザpostgresも作成されておりますね。これまた楽ちん

- create table jsptest したあと
use jsptestしたあと

jspdb=# create table testtbl(num int, name varchar(50));
CREATE TABLE
jspdb=# insert into testtbl values(1,'鈴木 一郎');
INSERT 0 1

テスト用のtesttblを作成。

  • JDBCのインストール

http://jdbc.postgresql.org/download.html#current
からJDBC 41をインストール(いろいろあるがとりあえずこいつを)
配置場所は悩むがとりあえず

postgres@ubuntu1204-20:/usr/share/java$ pwd 
/usr/share/java
postgres@ubuntu1204-20:/usr/share/java$ ls -ltr | grep postgres
-rw-r--r-- 1 hirasawa hirasawa   588901  5月  7 13:18 postgresql-9.3-1101.jdbc41.jar
lrwxrwxrwx 1 root     root           30  5月  7 14:49 postgres.jdbc.jar -> postgresql-9.3-1101.jdbc41.jar
postgres@ubuntu1204-20:/usr/share/java$ 

postgres@ubuntu1204-20:/usr/share/tomcat7/lib$ pwd
/usr/share/tomcat7/lib
postgres@ubuntu1204-20:/usr/share/tomcat7/lib$ ls -ltr | grep postgres
-rw-r--r-- 1 hirasawa hirasawa 588901  5月  7 13:18 postgresql-9.3-1101.jdbc41.jar
postgres@ubuntu1204-20:/usr/share/tomcat7/lib$ 

においてみた。

javaからのテストは

[hirasawa@ubuntu1204-20 ~]$ pwd
/home/hirasawa
[hirasawa@ubuntu1204-20 ~]$ 
[hirasawa@ubuntu1204-20 ~]$ cat DBtest.java 
import java.sql.*;
class DBTest {
    public static void main(String[] args) {
        int id;
        String name;
        try {
            // JDBCドライバの登録
            String driver = "org.postgresql.Driver";
            // データベースの指定
            //String server   = "192.168.1.20";   // PostgreSQL サーバ ( IP または ホスト名 )
            String server   = "localhost";   // PostgreSQL サーバ ( IP または ホスト名 )
            String dbname   = "jspdb";         // データベース名
            String url = "jdbc:postgresql://" + server + "/" + dbname;
            String user     = "postgres";         //データベース作成ユーザ名
            String password = "postgres";     //データベース作成ユーザパスワード
            Class.forName (driver);
            // データベースとの接続
            Connection con = DriverManager.getConnection(url, user, password);
            // テーブル照会実行
            Statement stmt = con.createStatement ();
            String sql = "SELECT * FROM testtbl";
            ResultSet rs = stmt.executeQuery (sql);
            // テーブル照会結果を出力
            while(rs.next()){
               id = rs.getInt("num");
               name = rs.getString("name");
               System.out.println("ID:" + id);
               System.out.println("名前:" + name);
            }
            // データベースのクローズ
            rs.close();
            stmt.close();
            con.close();
        } catch (SQLException e) {
            System.err.println("SQL failed.");
            e.printStackTrace ();
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace ();
        }
    }
}
[hirasawa@ubuntu1204-20 ~]$

以下、javac とjava でテスト

[hirasawa@ubuntu1204-20 ~]$ javac -classpath .:/usr/share/java/postgres
/usr/share/java/postgres.jdbc.jar
/usr/share/java/postgresql-9.3-1101.jdbc41.jar
[hirasawa@ubuntu1204-20 ~]$ javac -classpath .:/usr/share/java/postgres.jdbc.jar  DBtest.java 
 
[hirasawa@ubuntu1204-20 ~]$ java -classpath .:/usr/share/java/postgres.jdbc.jar DBTest 
ID:1
名前:鈴木 一郎
[hirasawa@ubuntu1204-20 ~]$