モデル(エンティティ)の作成 (1/5)
作成:2013-12-14 10:30
更新:2013-12-14 10:30
更新:2013-12-14 10:30
■gen-modelでモデルを作る
前回、ビュー(View)とコントローラー(Controller)の基本について説明しました。残るは「モデル(Model)」ですね。
GAEでは、データベースアクセスにデータストアと呼ばれる非SQLデータベース機能を使います。これはデータベースに保管するデータである「エンティティ」というクラスを定義し、そのインスタンスを作って保存していきます。――というと、中にはピンときた人もいるかも知れません。その基本的な仕組みは、JDO(Java Data Object)の技術を利用しています。
Slim3でも、この基本的な部分はそのまま受け継いでいますが、作成したエンティティによるデータベース操作を支援する便利な機能がひと通り揃っており、一味違ったデータベースアクセスを実現しています。
では、実際にエンティティクラスを作ってみましょう。例によって、Slim3プロジェクトにある「build.xml」を使ってファイルを自動生成します。プロジェクト・エクスプローラーから「build.xml」を右クリックし、ポップアップして現れたメニューから<実行(Run As)>メニュー内にある<Ant Build...>メニューを選びましょう(「...」のついたほうです)。
画面に実行するターゲットを選択するダイアログが現れたら、一覧リストから「gen-model」を選んで実行します。画面にモデル名を入力するダイアログが現れるので、ここでは「MyData」と入力しておきましょう。
これで、ルートパッケージ(ここではcom.tuyano.libro.myslim3app)下に「model」というパッケージが作成され、そこに「MyData.java」というソースコードファイルが作成されます。これがエンティティクラスのファイルです。ここに必要なコードを記述していきます。
これとは別に、ルートパッケージ下に「meta」というパッケージが作成されます。ここには「MyDataMeta.java」というファイルが自動生成されます。これはMyDataのメタクラスというもので、ここにMyDataクラスの内容に関する各種情報を取得するためのメソッドが自動生成されていきます。これは、データベースアクセスの際に非常に重要な役割を果たしますので、今は使いませんが勝手に消したりしないように。
GAEでは、データベースアクセスにデータストアと呼ばれる非SQLデータベース機能を使います。これはデータベースに保管するデータである「エンティティ」というクラスを定義し、そのインスタンスを作って保存していきます。――というと、中にはピンときた人もいるかも知れません。その基本的な仕組みは、JDO(Java Data Object)の技術を利用しています。
Slim3でも、この基本的な部分はそのまま受け継いでいますが、作成したエンティティによるデータベース操作を支援する便利な機能がひと通り揃っており、一味違ったデータベースアクセスを実現しています。
では、実際にエンティティクラスを作ってみましょう。例によって、Slim3プロジェクトにある「build.xml」を使ってファイルを自動生成します。プロジェクト・エクスプローラーから「build.xml」を右クリックし、ポップアップして現れたメニューから<実行(Run As)>メニュー内にある<Ant Build...>メニューを選びましょう(「...」のついたほうです)。
画面に実行するターゲットを選択するダイアログが現れたら、一覧リストから「gen-model」を選んで実行します。画面にモデル名を入力するダイアログが現れるので、ここでは「MyData」と入力しておきましょう。
これで、ルートパッケージ(ここではcom.tuyano.libro.myslim3app)下に「model」というパッケージが作成され、そこに「MyData.java」というソースコードファイルが作成されます。これがエンティティクラスのファイルです。ここに必要なコードを記述していきます。
これとは別に、ルートパッケージ下に「meta」というパッケージが作成されます。ここには「MyDataMeta.java」というファイルが自動生成されます。これはMyDataのメタクラスというもので、ここにMyDataクラスの内容に関する各種情報を取得するためのメソッドが自動生成されていきます。これは、データベースアクセスの際に非常に重要な役割を果たしますので、今は使いませんが勝手に消したりしないように。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ