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 ~]$