libro
www.tuyano.com
初心者のためのSpring Bootプログラミング入門

MongoDBを利用する (2/6)

作成: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を使うのがよいでしょう。

※プログラムリストが表示されない場合

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