今回は、C(Create)・R(Read)・U(Update)・D(Delete)を一通り含むOracle接続処理をSpring BootのWEB画面上で実装してみたので、そのサンプルプログラムを共有する。
Oracle上のテーブルにアクセスするC(Create)・R(Read)・U(Update)・D(Delete)は、SpringのJPAライブラリを利用すると、SQLの記載せず、少ないコード量で実装できる。
なお、今回のサンプルプログラムは長くなるため、完成したサンプルプログラムの画面イメージとhibernate_sequenceの追加についてのみ記載し、ソースコードの内容は次回の記事で掲載する。
前提条件
下記記事のSpring BootでのOracle接続処理の実装が完了していること。
やってみたこと
完成した画面イメージの共有
ここでは、完成した画面イメージの共有を行う。
Spring Bootアプリケーションを起動し、「http:// (ホスト名):(ポート番号)」とアクセスした場合の初期表示は以下の通りなので、「データ追加」ボタンを押下
以下のように新規作成するデータ追加内容を入力し、「確認」ボタンを押下
以下のように完了画面が表示されるので、「一覧に戻る」ボタンを押下
以下のように一覧画面に遷移し、先ほど登録した「テスト プリン2」というデータが表示されることが確認できる
入力画面に遷移し、以下のように「テスト プリン2」のデータが表示される
以下のように完了画面が表示されるので、「一覧に戻る」ボタンを押下
以下のように一覧画面に遷移し、先ほど更新した「テスト プリン3」というデータが表示されることが確認できる
以下のように削除確認画面が表示されるので、「送信」ボタンを押下
以下のように一覧画面に遷移し、先ほど削除した「テスト プリン3」というデータが表示されないことが確認できる
hibernate_sequenceの追加
今回作成するプログラムのエンティティの主キーは、以下の設定になっているため、Oracleの場合は、シーケンス「hibernate_sequence」から自動採番される仕組みになっている。
1 2 3 4 5 6 | /** ID */ //主キー項目に@Idを付与し、その値を自動生成するにはアノテーション //@GeneratedValue(strategy = GenerationType.AUTO)を付与する @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; |
そのため、プログラム内でデータ追加を行えるようにするには、「hibernate_sequence」シーケンスをあらかじめ作成しておく必要がある。シーケンスの作成は以下のSQLで実施する。
1 | create sequence hibernate_sequence increment by 1 start with 1 maxvalue 999999 |
その他、初期表示時に表示されるデータ「テスト プリン」は、あらかじめ登録しておいた。