0
0

More than 3 years have passed since last update.

springbootでのアプリ作成につきまして

Last updated at Posted at 2020-06-21

今、以下の機能を有するアプリの作成しています。
 ・データの入力、登録
 ・登録データの一覧表示
 ・登録データの削除
 ・登録データの曖昧検索

上記のうち、曖昧検索だけがいまだにエラーなどでできていない状態になっています。

どこをどのように修正すれば、エラーが解消し、検索機能が動くようになるかご教示頂けますでしょうか。
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
データベース
 sp→観光地を入れる変数(String型)

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

コード
//MyDataRepository.java

package com.example.demo;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;

import org.springframework.stereotype.Repository;

@Repository

public interface MyDataRepository extends JpaRepository {

List<MyData> findBySpLike(String sp);

}

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

//MyController.java

package com.example.demo;

import java.util.List;

import java.util.Optional;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.transaction.annotation.Transactional;

import org.springframework.web.bind.annotation.ModelAttribute;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.servlet.ModelAndView;

@Controller

public class MyController {

@Autowired

MyDataRepository repository;



//トップ

@RequestMapping("/")

public String index() {

    return "index";

}



//入力

@RequestMapping("/write")

public ModelAndView write(@ModelAttribute("formModel") MyData mydata,ModelAndView mv) {

    mv.setViewName("write");

    return mv;

}



@RequestMapping(value="/form", method=RequestMethod.POST)

@Transactional(readOnly=false)

public ModelAndView form(@ModelAttribute("formModel") MyData mydata, ModelAndView mv) {

    repository.saveAndFlush(mydata);

    return new ModelAndView("redirect:/");

}



//一覧

@RequestMapping(value="/list",method=RequestMethod.GET)

public ModelAndView list(ModelAndView mv) {

    mv.setViewName("list");

    List<MyData> list = repository.findAll();

    mv.addObject("datalist", list);

    return mv;

}



//詳細

@RequestMapping(value="/data/{id}",method=RequestMethod.GET)

public ModelAndView data(@ModelAttribute MyData mydata, @PathVariable int id, ModelAndView mv) {

    mv.setViewName("data");

    Optional<MyData> data = repository.findById(id);

    mv.addObject("formModel", data.get());

    return mv;

}



//削除

@RequestMapping(value="/delete/{id}",method=RequestMethod.GET)

public ModelAndView delete(@PathVariable int id, ModelAndView mv) {

    mv.setViewName("delete");

    Optional<MyData> data = repository.findById(id);

    mv.addObject("formModel", data.get());

    return mv;

}

@RequestMapping(value="/delete",method=RequestMethod.POST)

@Transactional(readOnly = false)

public ModelAndView remove(@RequestParam int id) {

    repository.deleteById(id);

    return new ModelAndView("redirect:/");

}



//検索

@RequestMapping(value="/search")

public ModelAndView search(@RequestParam("sp") String sp,ModelAndView mv) {

    List<MyData> list = repository.findBySpLike("%" + sp + "%");

    mv.setViewName("list");

    mv.addObject("dataList", list);

    return mv;

}

}

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

<!DOCTYPE html>

トップページ

旅行アプリ





◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

<--search.html-->

<!DOCTYPE html>

検索画面

観光地など:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0