[JAVA] À propos de la création d'applications avec Springboot

Je crée actuellement une application qui a les fonctions suivantes. ・ Saisie et enregistrement des données ・ Affichage de la liste des données enregistrées ・ Supprimer les données d'enregistrement ・ Recherche ambiguë des données enregistrées

Parmi les éléments ci-dessus, seule la recherche floue n'a pas encore été effectuée en raison d'une erreur ou autre.

Pouvez-vous me dire où et comment le corriger afin que l'erreur disparaisse et que la fonction de recherche fonctionne? ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ Base de données sp → Variable pour entrer dans les sites touristiques (type String)

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

code //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<MyData, Integer> {

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;

}

}

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

Première page </ title> </head> <body> <table> <tr> <th> <h2> Application de voyage </ h2> </ th> </ tr> </table> <br> <input type = "button" value = "input" onclick = "location.href = '/ write'"> <br> <input type = "button" value = "list" onclick = "location.href = '/ list'"> <br> <input type = "button" value = "search" onclick = "location.href = '/ search'"> <br> </body> </html> <p>◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆</p> <p><--search.html--></p> <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org" > <head> <meta charset="UTF-8"> <title> Écran de recherche </ title> </head> <body> <form action="/search"> <p>Destinations touristiques, etc.: <input type = "text" name = "sp" th: value = "* {tm}" /></p> <p><input type = "submit" value = "search" /> <a href="/list"> </a></p> <input type = "button" value = "search" onclick = "location.href = '/ list'"> </form> </body> </html> <!-- ENDDDDDDDDDDDDDDDDDDDDDDDDDDDDD --> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- ng_ads_new_ui --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6575041992772322" data-ad-slot="8191531813" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div style="margin-top: 30px;"> <div class="link-top" style="margin-top: 1px;"></div> <p> <font size="4">Recommended Posts</font> <!-- BEGIN LINK ************************* --> <div style="margin-top: 10px;"> <a href="/fr/6488353db0f26edea132">À propos de la création d'applications avec Springboot</a> </div> <div style="margin-top: 10px;"> <a href="/fr/e9747531976b5329c4d4">Exécuter des applications écrites en Java8 en Java6</a> </div> <div style="margin-top: 10px;"> <a href="/fr/ff829561238440437b99">De la création d'un projet Spring Boot à l'exécution d'une application avec VS Code</a> </div> <div style="margin-top: 10px;"> <a href="/fr/c039ca4a42573a2eb962">Prend en charge le multi-port avec SpringBoot</a> </div> <div style="margin-top: 10px;"> <a href="/fr/d55d94c316d3c1acde7f">J'ai créé une application Android qui GET avec HTTP</a> </div> <div style="margin-top: 10px;"> <a href="/fr/dd078d7d074bc8faf61b">[Rails] Créer une application</a> </div> <div style="margin-top: 10px;"> <a href="/fr/23b771298f6ed45158e9">J'ai fait un interpréteur (compilateur?) Avec environ 80 lignes en Ruby.</a> </div> <div style="margin-top: 10px;"> <a href="/fr/242a92d06c9d9b28d914">Premiers pas avec Java et création d'un éditeur Ascii Doc avec JavaFX</a> </div> <div style="margin-top: 10px;"> <a href="/fr/39d6b12f02f274cd4a08">Sortie verbalisée de procédure approximative lors de la création d'une application avec Rails</a> </div> <div style="margin-top: 10px;"> <a href="/fr/5d269341ff1c4e4f50fd">Résumé du travail initial lors de la création d'une application avec Rails</a> </div> <div style="margin-top: 10px;"> <a href="/fr/7dba25f4fa30ab0b1246">Procédure de publication d'une application à l'aide d'AWS (4) Création d'une base de données</a> </div> <div style="margin-top: 10px;"> <a href="/fr/95cef8189a45e597f41c">Comment spécifier la base de données lors de la création d'une application avec des rails</a> </div> <div style="margin-top: 10px;"> <a href="/fr/166f7aa8a69922e34d99">À propos des instances Java</a> </div> <div style="margin-top: 10px;"> <a href="/fr/3552a51cf1d29a54c1f7">Changer de port avec SpringBoot</a> </div> <div style="margin-top: 10px;"> <a href="/fr/c0055e732460be3b8945">Application Web construite avec docker (1)</a> </div> <div style="margin-top: 10px;"> <a href="/fr/cde66f1f81c9ddc4c2ea">Publier une image avec POSTMAN</a> </div> <div style="margin-top: 10px;"> <a href="/fr/dffba03df3c201d5d053">Hello World avec SpringBoot / Gradle</a> </div> <div style="margin-top: 10px;"> <a href="/fr/9de7baf4748b95f06e8b">N'ajoutez pas inutilement @GeneratedValue lors de la création d'une entité avec JPA</a> </div> <div style="margin-top: 10px;"> <a href="/fr/a245edec975c596534fd">J'ai essayé de créer une application Android avec MVC maintenant (Java)</a> </div> <div style="margin-top: 10px;"> <a href="/fr/ba13d78aefe821600357"># 1 [Débutant] Créez une application Web (site Web) avec Eclipse à partir de la connaissance 0. "Construisons un environnement pour créer des applications Web"</a> </div> <!-- END LINK ************************* --> </p> </div> </div> </div> <div class="footer text-center" style="margin-top: 40px;"> <!-- <p> Licensed under cc by-sa 3.0 with attribution required. </p> --> </div> <script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/js/bootstrap.min.js"></script> <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.1.2/build/highlight.min.js"></script> <!-- ads --> <script data-ad-client="ca-pub-6575041992772322" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- end ads --> </body> </html>