List<MongoData> datas = mongoRepository.findAll();「findAll」で、すべてのエンティティが取り出されます。これまた、JpaRepositoryとまったく同じですね。取り出されるのは、List<MongoData>インスタンスです。デフォルトでMongoDataの総称型が指定された形になっていることがわかります。
@RequestMapping(value = "/helo", method = RequestMethod.POST)/heloにPOSTされた場合に呼び出されることがわかりますね。その際、@RequestParam("key")というようにパラメータが指定されています。フォームにname="key"といった入力項目を用意しておけば、それが引数keyに渡されるようにしているわけです。
public Model post(Model model, @RequestParam("key") String key)
List<MongoData> datas = mongoRepository.findByTitle(key);この部分ですね。JpaRepositoryの場合と同じく、インターフェイスを用意するだけで、メソッドの実装を用意せずとも検索が行えることがこれでわかるでしょう。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
package com.tuyano.libro.bootapp;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class SampleController {
@Autowired
private MyMongoRepository mongoRepository;
@RequestMapping("/helo")
public Model helo(Model model) {
List<MongoData> datas = mongoRepository.findAll();
model.addAttribute("msg","this is MongoDB sample.");
model.addAttribute("datas",datas);
return model;
}
@RequestMapping(value = "/helo", method = RequestMethod.POST)
public Model post(Model model, @RequestParam("key") String key) {
List<MongoData> datas = mongoRepository.findByTitle(key);
if (datas == null)
{ datas = new ArrayList<MongoData>(); }
model.addAttribute("msg","this is MongoDB sample.");
model.addAttribute("datas",datas);
return model;
}
}
| << 前へ | 次へ >> |