MongoDBを利用する (2/6)
作成:2015-05-09 09:12
更新:2015-05-09 09:12
更新:2015-05-09 09:12
■エンティティクラスを作成する
では、MongoDBをプロジェクトから使ってみましょう。まずは、エンティティクラスの作成からです。ここでは、ごく簡単なエンティティとして「MongoData」というクラスを用意してみます(下のリストを参照)。
これはごく単純なメモデータのエンティティです。ここでは、id, title, memo, dateといったフィールドを用意しています。idには、@Idアノテーションを付け、プライマリキーとしての役割を与えています。他、コンストラクタとtoString、また各フィールドの値を得るGetterメソッドなどを用意しておきました。
クラスそのものは、一般的なSQLデータベースを利用する際のエンティティクラスと何ら違いはありません。シンプルなPOJOクラスですし、@Id以外には特殊なアノテーションもありません。NoSQLといっても、実はSpring Boot内で用意されるエンティティクラスは、普通のSQLデータベースの場合とまったく同じであることがわかります。
一つだけ注目して欲しいのは、プライマリキーのフィールド「id」です。一般的なデータベースだと、これはつい、int型やlong型を使うんじゃないでしょうか。ここではStringを指定していますね。MongoDBでは、プライマリキーに相当するidには自動生成された文字列が設定されますので、Stringを使うのがよいでしょう。
これはごく単純なメモデータのエンティティです。ここでは、id, title, memo, dateといったフィールドを用意しています。idには、@Idアノテーションを付け、プライマリキーとしての役割を与えています。他、コンストラクタとtoString、また各フィールドの値を得るGetterメソッドなどを用意しておきました。
クラスそのものは、一般的なSQLデータベースを利用する際のエンティティクラスと何ら違いはありません。シンプルなPOJOクラスですし、@Id以外には特殊なアノテーションもありません。NoSQLといっても、実はSpring Boot内で用意されるエンティティクラスは、普通のSQLデータベースの場合とまったく同じであることがわかります。
一つだけ注目して欲しいのは、プライマリキーのフィールド「id」です。一般的なデータベースだと、これはつい、int型やlong型を使うんじゃないでしょうか。ここではStringを指定していますね。MongoDBでは、プライマリキーに相当するidには自動生成された文字列が設定されますので、Stringを使うのがよいでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
package com.tuyano.libro.bootapp; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import org.springframework.data.annotation.Id; public class MongoData { @Id private String id; private String title; private String memo; private Date date; public MongoData(String title, String memo){ this.title = title; this.memo = memo; this.date = Calendar.getInstance().getTime(); } public String getTitle(){ return title; } public String getMemo(){ return memo; } public Date getDate(){ return date; } public String getDateStr(){ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); return format.format(date); } @Override public String toString(){ return "「" + title + "」\n" + memo + "(" + date.toString() + ")"; } }
※関連コンテンツ
「初心者のためのSpring Bootプログラミング入門」に戻る