返回顶部
首页 > 资讯 > 精选 >SpringBoot怎么整合Mybatis与thymleft实现增删改查功能
  • 177
分享到

SpringBoot怎么整合Mybatis与thymleft实现增删改查功能

2023-07-04 17:07:11 177人浏览 独家记忆
摘要

这篇文章主要介绍“SpringBoot怎么整合mybatis与thymleft实现增删改查功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springBoot怎么整合Mybatis与thymlef

这篇文章主要介绍“SpringBoot怎么整合mybatis与thymleft实现增删改查功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springBoot怎么整合Mybatis与thymleft实现增删改查功能”文章能帮助大家解决问题。

首先我们先创建项目 注意:创建SpringBoot项目时一定要联网不然会报错

SpringBoot怎么整合Mybatis与thymleft实现增删改查功能

SpringBoot怎么整合Mybatis与thymleft实现增删改查功能

项目创建好后我们首先对 application.yml 进行编译

SpringBoot怎么整合Mybatis与thymleft实现增删改查功能

#指定端口号
server:
 port: 8888
#配置mysql数据源
spring:
  datasource:
    driver-class-name: com.Mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/nba?serverTimezone=Asia/Shanghai
    username: root
    passWord: root
#配置模板引擎 thymeleaf
  thymeleaf:
    mode: HTML5
    cache: false
    suffix: .html
    prefix: classpath:/templates/
mybatis:
  mapper-locations: classpath:/mapper    List<Players> findAll();        Players findById(Integer id);        Integer add(Players players);        Integer delete(Integer pid);        Integer update(Players players);}

使用@mapper后,不需要在spring配置中设置扫描地址,通过mapper.xml里面的namespace属性对应相关的mapper类,spring将动态的生成Bean后注入到Servicelmpl中。

然后是service层

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;@Servicepublic 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);    }}

最后是WEB层的controller控制类

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;@Controllerpublic 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;    }}

注意:a1方法仅仅是用于跳转页面,并没有其他作用,如果有更好的跳转方法可以给我留言哦

现在准备工作都做完了,可以开始编写sql语句了

mapper.xml可以写在下面resources里面也可以写在上面的mapper层里

如果写在上面的话需要在pom里面写一个资源过滤器,有兴趣的话可以去百度

<?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>

注意:mapper.xml中的id里对应的是mapper层接口的方法,一定不能写错

到现在为止我们的后端代码就已经完全搞定了,前端页面如下

主页 index.html

<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>        <!---->        <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>

新增页 add.html

<!DOCTYPE html><html>      <head>      <title>Title</title></head><body><div align="center">  <h4 align="center">新增球员</h4>  <fORM action="/add">    <p>      球员名称:      <input name="pname" id="pname">    </p >    <p>      出生日期:      <input name="birthday" id="birthday">    </p >    <p>      球员升高:      <input name="height" id="height">    </p >    <p>      球员体重:      <input name="weight" id="weight">    </p >    <p>      球员位置:      <input type="radio"  name="position" value="控球后卫"/>控球后卫      <input type="radio"  name="position" value="得分后卫"/>得分后卫      <input type="radio"  name="position" value="小前锋" />小前锋      <input type="radio"  name="position" value="大前锋" />大前锋      <input type="radio"  name="position" value="中锋"/>中锋    </p >    <p>      所属球队:      <select name="cid">        <option value="1">热火队</option>        <option value="2">奇才队</option>        <option value="3">魔术队</option>        <option value="4">山猫队</option>        <option value="5">老鹰队</option>      </select>    </p >    <input type="submit" value="保存">    <input type="reset" value="重置">  </form></div></body></html>

修改页 update.html

<!DOCTYPE html><html  xmlns:th="http://www.thymeleaf.org"><head>  <meta charset="UTF-8">  <title>Title</title></head><body class="container">    <div align="center">      <h2>修改球员信息</h2>      <br/>      <form action="/update" method="get" id="form2">        <table>          <tr>            <td colspan="2"></td>          </tr>          <tr>            <td>球员编号:</td>            <td><input type="text" name="pid"                                    id="pid" th:value="${list.pid}"/></td>          </tr>          <tr>            <td>球员姓名:</td>            <td><input type="text" name="pname"                                    id="pname" th:value="${list.pname}"/></td>          </tr>          <tr>            <td>出身日期:</td>            <td><input type="text" name="birthday"                                    id="birthday" th:value="${list.birthday}"/></td>          </tr>          <tr>            <td>球员身高:</td>            <td><input type="text" name="height"                                    id="height" th:value="${list.height}"/></td>          </tr>          <tr>            <td>球员体重:</td>            <td><input type="text" name="weight"                                    id="weight" th:value="${list.weight}"/></td>          </tr>          <tr>            <td>球员位置:</td>            <td><input type="text" name="position"                                    id="position" th:value="${list.position}"/></td>          </tr>          <tr>            <td>所属球队:</td>            <td>              <select name="cid" id="cid" th:value="${list.cid}"/>              <option value="">--请选择球队--</option>              <option value="1">热火队</option>              <option value="2">奇才队</option>              <option value="3">魔术队</option>              <option value="4">山猫队</option>              <option value="5">老鹰队</option>              </select></td>          </tr>          <tr>            <td colspan="2"><input type="submit" id="btn2" value="保存"/>              <input type="reset" id="wrap-clera" value="重置"/>              <a th:href="@{/index.html}" rel="external nofollow" ><input type="button" id="btn1" value="返回"/></a>            </td>          </tr>        </table>      </form>    </div></body></html>

数据库创建源码 -- 注意:我用的是MySQL数据库

create table clubs(cid int primary key auto_increment,cname varchar(50) not null,city varchar(50) not null)create table players(pid int primary key auto_increment,pname varchar(50) not null,birthday datetime not null,height int not null,weight int not null,position varchar(50) not null,cid int not null)alter  table  players  add  constraint  players_cidforeign key(cid)  references  clubs(cid);insert into clubs values(1,'热火队','迈阿密'),(2,'奇才队','华盛顿'),(3,'魔术队','奥兰多'),(4,'山猫队','夏洛特'),(5,'老鹰队','亚特兰大')insert into players values(4,'多多','1989-08-08',213,186,'前锋',1),(5,'西西','1987-10-16',199,162,'中锋',1),(6,'南南','1990-01-23',221,184,'后锋',1)

最后给大家看一下页面展示

在地址栏输入:http://localhost:8888/findAll 进入到查询所有方法再跳转到idnex.html进行显示

SpringBoot怎么整合Mybatis与thymleft实现增删改查功能

点击新增跳转到新增页面

输入参数

SpringBoot怎么整合Mybatis与thymleft实现增删改查功能

然后点击保存 添加成功后跳转到idnex.html并显示数据

SpringBoot怎么整合Mybatis与thymleft实现增删改查功能

前端数据显示表面成功添加

点击修改 根据findById方法找到数据,并跳转到update.htnl页面进行显示

SpringBoot怎么整合Mybatis与thymleft实现增删改查功能

我们修改所属球队为 奇才队 点击保存

SpringBoot怎么整合Mybatis与thymleft实现增删改查功能

跳转到index.html页面并且数据成功修改

关于“SpringBoot怎么整合Mybatis与thymleft实现增删改查功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: SpringBoot怎么整合Mybatis与thymleft实现增删改查功能

本文链接: https://lsjlt.com/news/346624.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SpringBoot怎么整合Mybatis与thymleft实现增删改查功能
    这篇文章主要介绍“SpringBoot怎么整合Mybatis与thymleft实现增删改查功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot怎么整合Mybatis与thymlef...
    99+
    2023-07-04
  • SpringBoot整合MybatisPlus实现增删改查功能
    目录1.概述2.引入依赖3.配置连接信息4.新建两个表5.在项目中创建相应的实体类5.1 创建基础实体类5.2 SysDictType实体类5.3 SysDictData实...
    99+
    2024-04-02
  • SpringBoot整合Mybatis简单实现增删改查
    目录前言第一:创建MySQL数据库第二:创建SpringBoot项目,引入需要的依赖包第三:创建程序目录和配置核心application.xml文件第四:依次编写Entity、Dao...
    99+
    2024-04-02
  • SpringBoot怎么整合Mongodb实现增删查改
    今天小编给大家分享一下SpringBoot怎么整合Mongodb实现增删查改的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一...
    99+
    2023-06-30
  • SpringBoot整合MyBatis实现增删改查(简单,详细)
    新建springboot工程 若选择https://start.spring.io下一步失败 则选择Custom,输入:https://start.aliyun.com后下一步 添加需要的依赖 添加其他依赖,全部依赖如下: ...
    99+
    2023-08-19
    mybatis spring boot 数据库 mysql
  • Mybatis怎么实现动态增删改查功能
    这篇文章给大家分享的是有关Mybatis怎么实现动态增删改查功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Mybatis 流程简介最近在看 Mybatis 的源码,大致了解整个框架流程后便手写了一个特别简...
    99+
    2023-06-14
  • SpringBoot整合Mongodb实现增删查改的方法
    目录一、什么是MongoDB二、在Window10上安装MongoDB三、配置MongoDB服务四、启动服务五、SpringBoot整合MongoDB一、什么是MongoDB Mon...
    99+
    2024-04-02
  • 使用springboot整合mybatis-plus实现数据库的增删查改示例
    1、准备数据库中的表及表中的数据 ; ; ; ; ; ; CREATE DATABASE `mp` ; USE `mp`; DROP TABLE IF ...
    99+
    2024-04-02
  • SpringBoot整合TKMyBatis实现单表增删改查操作
    目录什么是TKMybatisSpringBoot整合TKMybatis实体类注解TKMapper接口如何使用基本增删改操作批量查询和删除批量添加自定义查询条件ExampleExamp...
    99+
    2023-01-03
    SpringBoot整合TKMyBatis增删改查 SpringBoot增删改查
  • SpringBoot配置MyBatis-Plus实现增删查改
    目录1 MyBatis-Plus 2 Maven依赖3 Spring Boot配置4 UserEntity5 UserMapper6 Serv...
    99+
    2024-04-02
  • PHP怎么实现增删改查功能
    这篇文章主要讲解了“PHP怎么实现增删改查功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP怎么实现增删改查功能”吧!sql:-- phpMyAdmin SQL&n...
    99+
    2023-06-29
  • winform增删改查功能怎么实现
    在 Winform 中实现增删改查功能,可以按照以下步骤进行操作:1. 设计界面:在 Winform 窗体上添加相应的控件,如文本框...
    99+
    2023-09-13
    winform
  • springboot 2.x整合mybatis实现增删查和批量处理方式
    目录springboot 2.x整合mybatis实现增删查和批量处理1.添加依赖2.添加配置文件3.Application.class添加扫描4.创建Mapper5.创建provi...
    99+
    2024-04-02
  • gridview控件增删改查功能怎么实现
    GridView控件的增删改查功能可以通过以下步骤实现:1.设置数据源:将GridView控件绑定到数据源,可以是数据库、XML文件...
    99+
    2023-08-19
    gridview
  • Oracle+mybatis如何实现对数据的增删改查功能
    这篇文章主要介绍了Oracle+mybatis如何实现对数据的增删改查功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是 MyBati...
    99+
    2024-04-02
  • Mybatis实现动态增删改查功能的示例代码
    目录一、Mybatis流程简介二、手写简化版Mybatis设计思路2.1简化后的思路2.2读取XML文件,建立连接2.3创建SqlSession,搭建Configuration和Ex...
    99+
    2024-04-02
  • JDBC怎么实现数据库增删改查功能
    这篇文章主要介绍JDBC怎么实现数据库增删改查功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:1、添加数据package cn.itcast.jdbc;import java.sql....
    99+
    2023-06-20
  • MybatisPlus实现简单增删改查功能
    实现步骤: 工具:IDEA 数据库版本:mysql5.7 一、环境搭建 1.创建springboot项目 pom.xml 2.pom.xml : spring web、lombo...
    99+
    2024-04-02
  • Laravel如何实现增删改查功能
    本篇内容主要讲解“Laravel如何实现增删改查功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Laravel如何实现增删改查功能”吧!一、连接数据库在Laravel中,连接数据库需要修改.e...
    99+
    2023-07-06
  • 怎么在Mybatis中通过配置xml实现单表增删改查功能
    怎么在Mybatis中通过配置xml实现单表增删改查功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Mybatis简介MyBatis 是一款优秀的持久层框架,...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作