Zuerst erstellen wir das Projekt. Hinweis: Beim Erstellen des SpringBoot-Projekts müssen Sie mit dem Internet verbunden sein, sonst wird ein Fehler gemeldet.
Nachdem das Projekt erstellt wurde, kompilieren wir zunächst die application.yml
#Geben Sie die Portnummer an
Server:
Port: 8888
#Konfigurieren Sie die MySQL-Datenquelle
spring:
Datenquelle:
Treiberklassenname: com.mysql.cj.jdbc.Driver
URL: jdbc :mysql://localhost:3306/nba?serverTimezone= Asien/Shanghai
Benutzername: root
Passwort: root
#Template-Engine konfigurieren thymeleaf
thymeleaf:
Modus: HTML5
Cache: false
Suffix: .html
Präfix: Klassenpfad :/templates/
mybatis:
mapper-locations: class path :/mapper/*.xml
type-aliases-package: com.bdqn.springboot #Geben Sie den Paketnamen ein
Hinweis: Nach: muss ein Leerzeichen stehen: . Wenn kein Platz vorhanden ist, wird ein Fehler gemeldet. Als nächstes erstellen wir das Projekt und erstellen die folgenden Pakete entsprechend Ihren tatsächlichen Anforderungen Dao-Layer-Schnittstellen. Pojo: Wird zum Speichern der Service-Layer-Schnittstelle und der Service-Layer-Implementierungsklasse verwendet.
Web: Wird zum Speichern der Controller-Steuerungsschicht verwendet. Als nächstes beginnen wir mit dem Schreiben von Code Klasse. Heute führen wir ein einfaches Hinzufügen, Löschen und Ändern von zwei Tabellen durch. Check
package com.baqn.springboot.pojo; import lombok.Data; @Data public class Clubs { private int cid; private String cname; private String city; }
package com.baqn.springboot.pojo; import lombok.Data; @Data public class Players { private int pid; private String pname; private String birthday; private int height; private int weight; private String position; private int cid; private String cname; private String city; }
Mit der @Data-Annotation kann die Codemenge in der Entitätsklasse effektiv reduziert werden, wodurch das Schreiben von get/set und toString
Dann der Mapper reduziert wird Layerpackage com.baqn.springboot.mapper; import com.baqn.springboot.pojo.Players; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @Mapper @Repository public interface PlayersMapper { /** * 查询所有 * @return */ List<Players> findAll(); /** * 根据ID查询 * @return */ Players findById(Integer id); /** * 新增 * @param players * @return */ Integer add(Players players); /** * 删除 * @param pid * @return */ Integer delete(Integer pid); /** * 修改 * @param players * @return */ Integer update(Players players); }
package com.baqn.springboot.service; import com.baqn.springboot.pojo.Players; import org.apache.ibatis.annotations.Param; import java.util.List; public interface PlayersService { List<Players> findAll(); Players findById(Integer pid); Integer add(Players players); Integer delete(Integer pid); Integer update(Players players); }
package com.baqn.springboot.service; import com.baqn.springboot.mapper.PlayersMapper; import com.baqn.springboot.pojo.Players; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class PlayersServiceImpl implements PlayersService{ @Autowired private PlayersMapper mapper; @Override public List<Players> findAll() { return mapper.findAll(); } @Override public Players findById(Integer pid) { return mapper.findById(pid); } @Override public Integer add(Players players) { return mapper.add(players); } @Override public Integer delete(Integer pid) { return mapper.delete(pid); } @Override public Integer update(Players players) { return mapper.update(players); } }
package com.baqn.springboot.web; import com.baqn.springboot.pojo.Players; import com.baqn.springboot.service.PlayersServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import java.util.List; @Controller public class PlayersController { @Autowired private PlayersServiceImpl service; @RequestMapping("/findAll") public String findAll(Model model) { List<Players> allList = service.findAll(); model.addAttribute("allList",allList); return "index"; } @RequestMapping("/findById/{pid}") public String findById(Model model,@PathVariable("pid") Integer pid) { Players list = service.findById(pid); //System.out.println("---------------"+list.toString()); model.addAttribute("list",list); return "update.html"; } @RequestMapping("/add") public String add(Model model, Players players){ Integer count = service.add(players); if (count>0){ return "redirect:/findAll"; } return "add"; } @RequestMapping("/delete/{pid}") public String delete(Model model,@PathVariable("pid") Integer pid){ Integer count = service.delete(pid); if (count>0){ return "redirect:/findAll"; } return null; } @RequestMapping("/a1") public String a1(Model model, Players players){ return "add.html"; } @RequestMapping("/update") public String update(Model model,Players plays){ Integer count = service.update(plays); if (count>0){ return "redirect:/findAll"; } return null; } }
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--namespace=绑定一个对应的Dao/Mapper接口--> <mapper namespace="com.baqn.springboot.mapper.PlayersMapper"> <select id="findAll" resultType="com.baqn.springboot.pojo.Players"> select * from clubs c , players p where c.cid = p.cid </select> <select id="findById" resultType="com.baqn.springboot.pojo.Players"> select * from clubs c , players p where c.cid = p.cid and p.pid=#{pid} </select> <insert id="add" parameterType="com.baqn.springboot.pojo.Players"> INSERT INTO `nba`.`players`(pname, birthday, height, weight, position, cid) VALUES (#{pname}, #{birthday}, #{height}, #{weight}, #{position}, #{cid}); </insert> <delete id="delete" parameterType="int"> delete from players where pid = #{pid} </delete> <update id="update" parameterType="com.baqn.springboot.pojo.Players"> UPDATE `nba`.`players` <set> <if test="pname != null">pname=#{pname},</if> <if test="birthday != null">birthday=#{birthday},</if> <if test="height != null">height=#{height},</if> <if test="weight != null">weight=#{weight},</if> <if test="position != null">position=#{position},</if> <if test="cid != null">cid=#{cid}</if> </set> WHERE `pid` = #{pid}; </update> </mapper>
<html> <head> <title>Title</title> </head> <body> <div align="center"> <table border="1"> <h2>美国职业篮球联盟(NBA)球员信息</h2> <a th:href="@{/a1}" rel="external nofollow" >新增</a> <tr> <th>球员编号</th> <th>球员名称</th> <th>出生时间(yyyy-MM-dd)</th> <th>球员身高(cm)</th> <th>球员体重(kg)</th> <th>球员位置</th> <th>所属球队</th> <th>相关操作</th> </tr> <!--/*@thymesVar id="abc" type=""*/--> <tr th:each="list : ${allList}"> <td th:text="${list.pid}"></td> <td th:text="${list.pname}"></td> <td th:text="${list.birthday}"></td> <td th:text="${list.height}">${list.height}</td> <td th:text="${list.weight}"></td> <td th:text="${list.position}"></td> <td th:text="${list.cname}"></td> <td> <a th:href="@{'/findById/'+${list.pid}}" rel="external nofollow" >修改</a> <a th:href="@{'/delete/'+${list.pid}}" rel="external nofollow" >删除</a> </td> </tr> </c:forEach> </table> </div> </body> </html>
Klicken Sie auf Hinzufügen, um zur neuen Seite zu springen
Geben Sie Parameter ein
Klicken Sie dann auf Speichern, springen Sie zu idnex.html und zeigen Sie es an Die Daten.Die Front-End-Datenanzeigeoberfläche wurde erfolgreich hinzugefügt
Klicken Sie auf „Ändern“, um die Daten gemäß der findById-Methode zu finden, und springen Sie zur Anzeige zur Seite „update.htnl“. änderte das Team zu Wizards und klickte auf Speichern
Springe zur Seite index.html und die Daten wurden erfolgreich geändertDas obige ist der detaillierte Inhalt vonWie SpringBoot Mybatis und Thymleft integriert, um Funktionen zum Hinzufügen, Löschen, Ändern und Überprüfen zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!