基于SpringBoot+mysql实现一个简单的增删改查

1.首先我们要准备好的一个数据库,以及准备好的表:

这样的前期准备工作就做好了 

然后我们由于是要使用SpringBoot所以需要事先配置好maven,做好这些准备后就可去去后端搭建环境了

2.搭建项目

注意这里的红色箭头表示这个.demo为了我们方便整理项目所以可以选择删除掉(当然不删除也可以),名称可以换成自定义的

接下来点击下一步就可以了然后idea就会自动帮我们搭建一个项目了

重要的包都是红框里的,其中pom.xml是我们导入依赖的地方

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>ikuntest</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>ikuntest</name>
    <description>ikuntest</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.78</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.20</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.17</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

把上面这些粘贴到pom.xml文件里就可以了(这一步的前提是要事先搭建好maven环境)

如过想要检查maven的版本的话可以cmd->运行mvn -v命令将显示 Maven 版本(注意这里又可能你的maven版本太低的话后面导入某些依赖会爆出启动错误的bug)

3.连接你的数据库

连接好后打开查看一下是否正确(这里的userpwd是经过了MD5加密所以显示的很奇怪,MD5后面会提到)

4.打开resource并且找到期目录下的application把他的后缀名改为yaml或者yml,这里其实不改也可以不过使用yaml的语法更简单易懂

5.在主启动类的同级目录下建好以下的包注意一定要是和主启动类平级的目录下,不然主启动类启动后是扫描不到的

6.建好之后我们首先打开pojo(pojo的意思就是实体类和你的数据库表明相对应)

这里是用来lombok的注解,@Data@AllArgsConstructor@NoArgsConstructor这几个注解来帮助我们去自动实现其有参无参构造以及get,set方法十分方便(这一步的前提是在pom之中导入了lombok的依赖)

建好这个User实体类后我们再去定义一个自定义返回类来帮助我们更方便的去返回给前端信息

这里重写了一个有参构造方法,为了是让data在return的时候可传可不传

7.在名为mapper的包下建立一个接口名为UserMapper,然后再resource下再建建立一个名为mybatis的包与之对应,并且再其中建立一个UserMapper.xml

 这里可以下载一个叫做mybatisX的插件,十分好用

在UserMapper.xml之中加入复制以下东西

<?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.example.mapper.UserMapper">

</mapper>

注意这里的namespace要换成自己刚才建好的mapper包中的UserMapper的接口名字

然后再打开UserMapper的接口

这些是利用了注解开发,这里的知识要自行学习。

这些东西建立好之后就可以去yaml去添加东西了

server:
  port: 8080
mybatis:
  mapper-locations: classpath:mybatis/*.xml
  type-aliases-package: com.example.pojo
spring:
  application:
    name:exam-provider-basic
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 你的数据库密码
    url: jdbc:mysql://localhost:3306/你的数据库架构名字?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8

这里的所有东西都要根据自己的名字不同去自行更改

8.去untils里建立一个Md5的加密密码方法

  

9.在service里建立imp的包以及一个service的接口

然后去service的接口里去创建方法

这里分别对应的是增加,删除,更改,全查

之后就去impl的包里面建立一个serviceimpl的类去实现刚才的service接口

@Service
public class serviceimpl implements service {
    @Autowired
    private UserMapper userMapper;
    @Override
    public ResultPojo addUser(User user) {
        if(user.getId()==0)
        {
            return new ResultPojo(0,"参数为空");
        }
        try
        {
            user.setUserpwd(Md5.MD5(user.getUserpwd()));
            userMapper.addUser(user);
            return new ResultPojo(1,"增加成功");
//            return ResultPojoUntils.success();
        }catch (Exception e)
        {
            e.printStackTrace();
            return new ResultPojo(0,"错误");
//            return ResultPojoUntils.error(ErrorCode.PARAMS_ERROR);
//            throw new BusinessException(ErrorCode.PARAMS_ERROR);
        }

    }

    @Override
    public ResultPojo deleteUser(int id) {
        try{
            userMapper.deleteUser(id);
            return new ResultPojo(1,"删除成功");
        }catch (Exception e)
        {
            e.printStackTrace();
            return new ResultPojo(0,"删除失败");
        }

    }

    @Override
    public ResultPojo updateUser(User user) {
        if(user.getId()==0)
        {
            return new ResultPojo(0,"参数为空");
        }
        try
        {
            user.setUserpwd(Md5.MD5(user.getUserpwd()));
            userMapper.update(user);
            return new ResultPojo(1,"修改成功");
        }catch (Exception e)
        {
            e.printStackTrace();
            return null;

        }

    }

    @Override
    public ResultPojo queryUser() {
        return new ResultPojo(1,"查找成功",userMapper.queryUser());
    }
}

10.在controller里建立controller的类

@RestController
public class controller {
    @Autowired
    private serviceimpl serviceimpl;
    @Autowired
    private UserMapper userMapper;
    @CrossOrigin
    @ResponseBody
    @PostMapping("/add")
    public ResultPojo add(@RequestBody User user)
    {
        return serviceimpl.addUser(user);
    }
    @CrossOrigin
    @ResponseBody
    @PostMapping("/delete")
    public ResultPojo delete(@RequestParam("id") int id)
    {
        return serviceimpl.deleteUser(id);
    }
    @CrossOrigin
    @PostMapping("/update")
    public ResultPojo update(@RequestBody User user)
    {
        return serviceimpl.updateUser(user);
    }
    @CrossOrigin
    @PostMapping("/query")
    public ResultPojo queryUser()
    {
        return new ResultPojo(1,"成功",serviceimpl.queryUser());
    }
}

11.这时就搭建好一个大致的增删改查了,去实验一下

点击运行后

去查询工具里查看

 

  • 32
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值