二、一个简单的SpringBoot增删改查

小编身为学生,走过很多的弯弯路,感觉什么都会一点,但是又什么都不会,为此我要开始,书写自己所知道的知识,以最保姆级的教学进行明示,大家加油(ง •_•)ง

一,前置部署

接上述,首先需要搭建我们springboot链接MySQL数据库索要用到的知识,我们这里用到的就是Mybatis持久层框架。https://mybatis.net.cn/configuration.html(要记得刷新maven欧)

1.导入两个依赖一个是mybatis驱动,另一个是mysql驱动。

<!--    mybatis依赖-->
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>2.2.1</version>
</dependency>

<!--    mysql驱动依赖-->
<dependency>
  <groupId>com.mysql</groupId>
  <artifactId>mysql-connector-j</artifactId>
  <version>8.1.0</version>
</dependency>

2. 导入完成后,我们需要更改application.properties文件将后缀改成.yml(为什么更改的疑问可以自己探索一下),来编写Mybatis链接数据库的配置。

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver   
    url: jdbc:mysql://localhost:3306/big_event    # 数据库名字地址
    username: root        # 用户名
    password: 123456       # 密码

二,编写框架所需要的文件包

1、controler控制层

Controler所负责的就是转发数据,简单来说它接收前端传来的参数,然后传给Service业务层来进行业务逻辑的判断。(小编说的不是很好,不明白的可以去查一查

2、service业务层(自动注入Dao层)

Service接收Controler层传来的数据,来进行自己负责的业务模块的应用逻辑设计来进行封装,这样有利于通用的业务逻辑的独立性和重复利用性。(小编说的不是很好,不明白的可以去查一查

3. mapper层=dao层

简述:Mapper层可以写极简单的增删改查,它属于Mybatis的一部分,对对数据库进行持久化的操作。(小编说的不是很好,不明白的可以去查一查

4、实体类

你以为包就建完啦吗,还有一个必须的欧,实体类是数据库在java代码中对应的类(数据表字段有什么实体类就有什么)通过setget方法,可以存储和管理系统内部的信息。(小编说的不是很好,不明白的可以去查一查

三,导入数据库

1. 我们新建一个数据库叫vccoudo这个叫什么都可以,不要求和小编一样

2. 我们新建一个简单的数据表,里面有三个字段,表名就叫user就可以(主要是为了让大家了解增删改查,这里不必太在意id要设置成自增欧

3. 数据库代码

···相信大家都可以的,嘿嘿····
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '账户',
  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密码',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;
 

4. 修改application.yml文件

完成上述操作后我们需要修改Mybatis的配置文件,我这里是只需要修改表名即可。

5. 还记得实体类吗,我们完成啦数据库就可以开始编写实体类啦。

先在entity下建一个User的类里面的字段就是和数据表一样就可以啦。

public class User {
    private  Integer id;
    private  String  username;
    private  String password;

    public User() {
    }

    public User(Integer id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    /**
     * 获取
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取
     * @return username
     */
    public String getUsername() {
        return username;
    }

    /**
     * 设置
     * @param username
     */
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     * 获取
     * @return password
     */
    public String getPassword() {
        return password;
    }

    /**
     * 设置
     * @param password
     */
    public void setPassword(String password) {
        this.password = password;
    }

    public String toString() {
        return "User{id = " + id + ", username = " + username + ", password = " + password + "}";
    }
}

四,增删改查

一. 前置准备

 1.controller层 首先我们在controller下建一个UserController类,并注入spring中controller层的注解。

2.service层 在这层里需要建两个类,并将一个接口和一个类进行连接,分别是UserService和UserServiceImpl

链接代码

@Service
public class UserServiceImpl implements UserService {
}

3.mapper层(Dao)在mapper层下新建一个UserMapper接口

二. 增加

1. UserController类我们要将controller和service互相关联起来,并在controller层中书写添加接口

import org.example.entity.User;
import org.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {


    @Autowired
    private UserService userService;



    @PostMapping("/add")
    public void  add(@RequestBody User user){  //@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)
        userService.add(user);

    }

}

然后我们去点击add那里它会显示错误提示,这时候直接点击生成即可

        点击 Create menthod'add' in 'UserService'

然后我们直接会跳转到UserService接口

点击错误提示,会跳转到UserService类中

哈哈哈,然后继续点击错误提示

        点击Implement methods

会自动生成一段代码

2. UseService层,在UserServiceImpl类中与UserMapper相连接,基本与UserController链接UserService类似

然后我们去点击add那里它会显示错误提示,这时候直接点击生成即可

        点击 Create menthod'add' in 'UserMapper'

之后会在UserMapper类中自动生成一段代码

3.UserMapper接口中直接开始写我们的sql语句,因为我们是添加数据,所以用到的就是@Insert来进行语句编写(这里的报错不需要管他

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.example.entity.User;


@Mapper
public interface UserMapper {

    @Insert("insert into user(username,password) values (#{username},#{password})" )
    void add(User user);


}

测试接口

经过很长的文件部署,终于写完啦增加接口的代码,有没有想到接口的代码量原来这么少呀,可是怎么确定自己的接口就是可以用的那,这时候就要用到我们后端常用测试接口的软件啦,当当当Postman,或不多说直接使用(没有安装和不懂得使用的小伙伴,可以去看看B站上有很多安装的视频,也可以在文章中评论欧

localhost:8080/add

{

    "username": "wqwe",

    "password":"1234567"

}

如果出现1恭喜你成功啦(如果有问题可以在小编会在评论区为小伙伴们解答欧)

至此往下小编就加快速度写另外几个接口啦

三. 查询

1. UserController

@GetMapping("/select")
public User select(Integer id){
    return  userService.select(id);

}

2. UserService

@Override
public User select(Integer id) {
    return userMapper.select(id);
}

3. UserMapper

@Select("select * from user where  id=#{id}")
User select(Integer id);

测试接口

三. 修改

1.UserController

// 更新
@PutMapping("/update")
public  void  update(@RequestBody User user){
    userService.update(user);
}

2.UserServiceImpl

@Override
public void update(User user) {
    userMapper.update(user);
}

3. UserMapper

@Update("update user set username=#{username},password=#{password} where id = #{id}")
void update(User user);

测试接口

四. 删除

1. UserController

@DeleteMapping("/delete")
public  void  delete(Integer id){
    userService.delete(id);
}

2. UserServiceImpl

@Override
public void delete(Integer id) {
    userMapper.delete(id);
}

3. UserMapper

@Delete("delete from user where  id=#{id}")
void delete(Integer id);

测试接口

就此就全部完成啦,这是最最最简单的增删改查,至少小编认为是这样的,以此为基础,后期小编会将这个增删改查一点点增加和改进,让他从一个光光的铁棍,变成一把可以射击的枪,如果感兴趣的话就给小编点点关注吧 ,嘿嘿嘿比心(。・ω・。)ノ♡

  • 28
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以,以下是一个简单的示例: ```java // 引入必要的依赖 import org.springframework.web.bind.annotation.*; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; @RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; // 询所有用户 @GetMapping("/") public List<User> getUsers() { return userService.getUsers(); } // 根据ID询用户 @GetMapping("/{id}") public User getUserById(@PathVariable("id") Long id) { return userService.getUserById(id); } // 添加用户 @PostMapping("/") public User addUser(@RequestBody User user) { return userService.addUser(user); } // 修用户 @PutMapping("/") public User updateUser(@RequestBody User user) { return userService.updateUser(user); } // 删除用户 @DeleteMapping("/{id}") public void deleteUserById(@PathVariable("id") Long id) { userService.deleteUserById(id); } } ``` 以上代码中的 `UserService` 是一个 service 层的类,负责具体的业务逻辑,如增删等操作。你需要自己实现该类,并在该类中注入 mapper(或 dao)层的依赖,用于访问数据库。 此外,你还需要在 pom.xml 文件中添加 Spring Boot 的相关依赖,如下所示: ```xml <dependencies> <!-- Spring Boot Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Spring Boot JPA --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- MySQL Connector --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> </dependencies> ``` 以上依赖中,Spring Boot Web 是用于构建 RESTful API 的模块,Spring Boot JPA 是用于访问数据库的模块,而 MySQL Connector 则是用于连接 MySQL 数据库的驱动程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值