DBはMySQL v5.0を使いました。
IBM dWのBuilding Java EE applications with IBM Rational Application Developer V7.5 and WebSphere Application Server V7.0をベースに発展させて行きます。
手順
1. サンプルDBを作成
2. DBをWAS v7のデータソースに登録
(初回はここまで)
3. JPA/EJBを作成(findメソッドのみ)
4. JSFを作成(参照のみ)
5. EJBに挿入メソッドを作成する
6. JSFを作成(挿入)
7. EJBに更新メソッドを作成する
8. JSFを作成(更新)
1. サンプルDBを作成
create database learning;
use learning; -- このコマンドはMySQL独自。
drop table mysample;
create table mysample(
myid integer primary key,
mychar char(1)
);
delete from mysample;
insert into mysample values(0,'a');
insert into mysample values(1,'b');
insert into mysample values(2,'c');
2. WAS v7のデータソースに登録
RAD上にまだWAS v7 サーバが存在しない場合は作成して下さい。サーバービューを右クリックして「新規作成」を選択してテキトーに入力すれば出来ると思います。
WASを起動します。(重い・・・)
起動が完了したらServer view の サーバーを右クリックして「管理」>「管理コンソール」をクリック。
管理コンソールにログインします。
(1)JDBCを登録
メインメニュー Resources > JDBC > JDBC Providers > New >
ウィザード形式で入力を求められます。以下の情報を入力。
Database type -> User-defined
Implementation class name -> com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource
Name -> MySQL JDBC Driver
次のページで
ClassPath: c:/path/to/mysql-connector-java-5.1.6-bin.jar
以上。
(2)認証情報を登録
メインメニュー Security > Global security > Authenticationエリアにある Java Authentication and Authorization Service を展開 > J2C authentication data > New
ここで
Alias -> MySQL_Learning
Userid, password -> DBに接続するときのID、パスワード
と入力する。
(3)データソースを作成
メインメニュー Resources > JDBC > Data source
Scope : 適切なスコープを設定(分からなければ'...Server = server1'とあるものを選びます)
> New
ウィザード形式で入力を求められるので下記情報を適宜入力します。
Data source name -> MySQL_Learning
JNDI name -> jdbc/learning(JPAに教えるので覚えておくこと)
> Next
Select an existing JDBC provider で MySQL JDBC Driver を選択
> Next
(何もしない)
> Next
Component-managed authentication alias
で、先ほど作成した認証情報(ノード名/MySQL_Learning)を選択。(JPAから参照するため、その他のaliasは不要。多分ServletからID/Passwordなしで利用するときはContainer-managed...が必要。Mapping-configurationは何か知らない・・・)
> Next
内容を確認
> Finish
次にカスタムプロパティを設定します。
JDBC providers > MySQL JDBC Driver > Data sources > MySQL_Learning > Connection pools > Custom properties > New
以下の情報を入力します。
Name -> url
Value -> jdbc:mysql://localhost:3306/learning
テスト接続。Warningが出ますが無視して問題ありません。
(注意:カスタムプロパティを設定しなくてもテスト接続は成功する。でもこのプロパティを定義しておかないと実際には使えない。認証情報をContainer-managedのみにしても成功するが、JPAからは使えない。すなわちテスト接続が成功しても油断しないで下さい)
まずは以上です。
.
0 件のコメント:
コメントを投稿