springboot同步增删改

首先创建好springboot空项目
1.进行数据源配置:

在这里插入图片描述

在这里插入代码片
server.port=8090
#配置数据源
#spring.datasource.username=root
#spring.datasource.password=root
#spring.datasource.url=jdbc:mysql://localhost:3306/demo6?serverTimezone=Asia/Shanghai
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

#配置druid数据源
spring.datasource.druid.username=root
spring.datasource.druid.password=root
spring.datasource.druid.url=jdbc:mysql://localhost:3306/demo1?serverTimezone=Asia/Shanghai
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.druid.max-active=5
#配置映射文件所在的路径
mybatis.mapper-locations=classpath:/mapper/*.xml


#打印日志
#打印sql日志
logging.level.com.sb4.demo.mapper=debug

#指定thymeleaf的前缀
spring.thymeleaf.prefix=classpath:/templates/

2.创建java工程目录(这里懒省事没有创建service层):
在这里插入图片描述

3.引入pom依赖

<?xml version="1.0" encoding="UTF-8"?>


4.0.0

org.springframework.boot
spring-boot-starter-parent
2.5.1


com.ykq
springboot-datasource
0.0.1-SNAPSHOT
springboot-datasource
整合数据源

<java.version>1.8</java.version>



org.springframework.boot
spring-boot-starter-data-jdbc


org.springframework.boot
spring-boot-starter-web

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <!--引入druid的数据源-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.1.21</version>
    </dependency>
    <!--引入mybatis和springboot的依赖-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.1.4</version>
    </dependency>
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.13</version>
    </dependency>
    
    <!--        引入定时依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-quartz</artifactId>
    </dependency>


    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>


</dependencies>

在这里插入代码片

4.书写mapper.xml中sql语句:

```java<?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">
<mapper namespace="com.sb4.demo.mapper.EmpMapper">
<!--    这里测试的是另一张表,不用理会-->
    <select id="select" resultType="map">
       select * from tab_emp
    </select>

<!--    正文-->
<!--    student表查询方法-->
    <select id="select1" resultType="map">
       select * from student
    </select>
<!--修改时的数据回显-->
    <select id="selectid" resultType="map">
       select * from student where sid =#{sid}
    </select>
<!--    删除方法-->
    <delete id="delete" parameterType="int">
        delete from student where sid=#{sid}
    </delete>

<!--    插入方法-->
    <insert id="insert" parameterType="map">
        insert into student(sname,sex) values(#{sname},#{sex});
    </insert>

<!--    修改方法-->
    <update id="update" parameterType="map">
        update student
        <set>
            <if test="sex!=null">
                sex=#{sex},
            </if>
            <if test="sname!=null">
                sname=#{sname}
            </if>
        </set>
        where sid=#{sid}
    </update>
</mapper>
在这里插入代码片

5.在src.main.java中创建指定的包里创建mapper接口并书写代码:
在这里插入图片描述
EmpMapper代码如下:


import java.util.List;
import java.util.Map;

public interface EmpMapper {
    //这里也是之前测试的领一张表,不用理会
    List<Map> select();
    
//    正文开始
    //修改回显
    List<Map> selectid(Integer sid);
//    主查询方法
    List<Map> select1();
//    删除方法
    int delete(Integer sid);
//    插入方法
    int insert(String sname,Integer sex);
//    修改方法
    int update(Integer sid, String sname, Integer sex);
}

在这里插入代码片

6.书写controller层代码:


import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sb4.demo.mapper.EmpMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.relational.core.sql.In;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

@RestController
public class EmpController {
    @Resource
    EmpMapper empMapper;

    //测试,不用理会
    @GetMapping("select")
    public PageInfo<Map> select(@RequestParam Integer c,@RequestParam Integer p)
    {
        PageHelper.startPage(c,p);
        List<Map> list = empMapper.select();
        PageInfo<Map> pageInfo = new PageInfo<>(list);
        return pageInfo;
    }

    //测试,不用理会
    @GetMapping("select1")
    public PageInfo<Map> select1(@RequestParam Integer c,@RequestParam Integer p)
    {
        PageHelper.startPage(c,p);
        List<Map> list = empMapper.select1();
        PageInfo<Map> pageInfo = new PageInfo<>(list);
        return pageInfo;
    }

//    测试,不用理会
    @GetMapping("select2")
    public ModelAndView select2(@RequestParam Integer c,@RequestParam Integer p)
    {
        PageHelper.startPage(c,p);
        List<Map> list = empMapper.select1();
        PageInfo<Map> pageInfo = new PageInfo<>(list);
        ModelAndView modelAndView = new ModelAndView("emp");
        modelAndView.addObject("student",pageInfo);
        return modelAndView;
    }



    
    
    //以下才是正文

//    查询方法
    @GetMapping("select24")
    public ModelAndView select24()
    {
        List<Map> list = empMapper.select1();
        PageInfo<Map> pageInfo = new PageInfo<>(list);
        ModelAndView modelAndView = new ModelAndView("emp");
        modelAndView.addObject("student",pageInfo);
        return modelAndView;
    }

    //修改方法
    @GetMapping("selectid")
    public ModelAndView selectid(@RequestParam Integer sid)
    {
       List<Map> list = empMapper.selectid(sid);
        PageInfo<Map> pageInfo = new PageInfo<>(list);
        //创建模型对象,映射返回对应的tempates中对应的html名,这里不用再书写后缀名
        ModelAndView modelAndView = new ModelAndView("emp3");
        //将前面的查询到的list参数对象添加到指定的html文件中:
        modelAndView.addObject("studentid",pageInfo);
        return modelAndView;
    }

//    @GetMapping("select3")
//    public ModelAndView select2()
//    {
//
//        List<Map> list = empMapper.select1();
//        PageInfo<Map> pageInfo = new PageInfo<>(list);
//        ModelAndView modelAndView = new ModelAndView("emp2");
//        modelAndView.addObject("student",pageInfo);
//        return modelAndView;
//    }

    //删除方法
    @GetMapping("delete")
    public ModelAndView delete(@RequestParam Integer sid)
    {
        empMapper.delete(sid);
        List<Map> list = empMapper.select1();
        PageInfo<Map> pageInfo = new PageInfo<>(list);
        ModelAndView modelAndView = new ModelAndView("emp");
        modelAndView.addObject("student",pageInfo);
        return modelAndView;
    }

    //进行插入方法页面的初始化
    @GetMapping("insert1")
    public ModelAndView insert1()
    {
        ModelAndView modelAndView = new ModelAndView("emp2");
        return modelAndView;
    }
    //插入方法
    @GetMapping("insert2")
    public ModelAndView insert2(@RequestParam String sname,Integer sex)
    {
        empMapper.insert(sname,sex);
        List<Map> list = empMapper.select1();
        PageInfo<Map> pageInfo = new PageInfo<>(list);
        ModelAndView modelAndView = new ModelAndView("emp");
        modelAndView.addObject("student",pageInfo);
        return modelAndView;
    }

    //进入修改页面初始化
    @GetMapping("update1")
    public ModelAndView update1()
    {
        ModelAndView modelAndView = new ModelAndView("emp3");
        return modelAndView;
    }

    //修改方法
    @GetMapping("update2")
    public ModelAndView update2(@RequestParam Integer sid,@RequestParam String sname,Integer sex)
    {
        empMapper.update(sid,sname,sex);
        List<Map> list = empMapper.select1();
        PageInfo<Map> pageInfo = new PageInfo<>(list);
        ModelAndView modelAndView = new ModelAndView("emp");
        modelAndView.addObject("student",pageInfo);
        return modelAndView;
    }



}

在这里插入代码片

7.在resources的templates中创建html文件:
在这里插入图片描述

我在static中引入了前端框架layui,如果要引入外部图片,样式,jquery或者其他框架的话,也将文件放在这个包里,如图:
在这里插入图片描述

8.书写html代码:
emp主页面中的代码:

Title 添加
性别姓名编号
姓名

emp2插入界面的代码:

Title

emp3修改页面的代码:

Title
姓名

9.进行测试:
在浏览器地址栏中输入:http://localhost:8090/select24
执行页面如下:
在这里插入图片描述

点击添加按钮,跳转到emp2页面中可以进行数据的添加:
在这里插入图片描述
在这里插入图片描述
点击保存进行数据的保存:
在这里插入图片描述
点击删除,进行数据的删除,这里将17号删掉:
在这里插入图片描述
点击修改跳转到emp3修改页面:
修改编号为5的数据,跳转后进行数据的回显:
在这里插入图片描述
输入修改后的数据,点击保存:
在这里插入图片描述
数据再次刷新:
在这里插入图片描述
以上是关于springboot同步数据增删改代码

Logo

更多推荐