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プログラミング入門」に戻る