您的位置 首页 java

SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

项目结构

SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

项目完成目录

准备工作

数据库准备:在开始项目之前我们需要在数据库中创建一个数据库,再创建我们后面需要用的的数据库表。现在市场上数据库可视化工具有很多,选择一个自己喜欢的就可以,我使用的是Navicat下载地址[

  • 创建数据库:打开Navicat链接本地数据库

链接本地数据库

  • 创建数据库:双击本地数据库打开链接,在本地数据库右键选择创建数据库,数据库名称为spring-demo,字符集选择 uf8,排序规则选择 utf8_general_ci。

进行数据库创建

  • 创建数据表:双击打开创建的数据库spring-demo,在创建的数据库下面找到 ‘表’,在表上右键选择新建表 user。

选择新建表

添加字段,并设置id为主键自增长

 -- 建表语句
CREATE TABLE `user` (
  `id` int(20) NOT NULL AUTO_INCREMENT  com MENT '主键ID',
  `name` varchar(50) DEFAULT NULL COMMENT '姓名',
  `age` int(10) DEFAULT NULL COMMENT '年龄',
  `sex` varchar(10) DEFAULT NULL COMMENT '性别',
  `birthday` date DEFAULT NULL COMMENT '生日',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  
  • 在表中新增三条数据

添加三条数据

 -- 新增数据sql语句
INSERT INTO `user` VALUES (1, '张三', 25, '男', '1994-08-08');
INSERT INTO `user` VALUES (2, '李四', 18, '女', '2003-08-08');
INSERT INTO `user` VALUES (3, '王五', 20, '男', '1999-07-01');  

到此我们数据库就准备完成了。

项目搭建

  • 我们使用maven进行项目的基础搭建。开发工具使用的是IDEA,JDK版本使用的是1.8.
  • 首先打开IDEA创建项目spring-mybatisplus-demo。在打开的界面中选择Create New Project.
SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

创建项目

  • 选择maven进行创建项目
SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

  • 在界面中填写GroupId、ArtifiactId和Version(版本号)
SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

填写项目信息

  • 在界面中确认项目名称和项目存放路径,点击finish进行确认
SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

确认项目信息

  • 在打开的项目中创建com.mgm.springdemo包结构。并在springdemo下依次创建controller(存放视图层接口)、domain(存放实体类)、service(存放业务层接口)、impl(存放业务层接口实现类)
  • 在src/main/resources目录下创建mapper文件夹,用于存放mapper.xml文件

SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

项目包结构

引入依赖

  • 在打开的项目中打开 pom .xml文件,引入spring-boot作为父依赖
 <parent>
        <groupId> org .springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.2. RELEASE </version>
        <relativePath/>
    </parent>  
  • 在下方依次添加sprig-web、spring-test、 mysql 驱动、druid数据库连接池、mybatis-plus、lombok依赖
 <!--完整pom文件-->
<?xml version="1.0" encoding="UTF-8"?>
< project  xmlns="#34;
         xmlns:xsi="#34;
         xsi:schemaLocation=" #34;>
    <modelVersion>4.0.0</modelVersion>
    
    <groupId>com.mgm.springdemo</groupId>
    <artifactId>spring-mybatisplus-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.2.RELEASE</version>
        <relativePath/>
    </parent>
    
    <dependencies>
        <!--spring-web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--spring-test-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--阿里巴巴数据库连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.17</version>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.2</version>
        </dependency>
        <!--lombok工具包,生成gatter/settrt-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>
    
    <!--maven打包插件-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>  

参数配置

  • 在src/main/resources下面创建application.yml配置文件,配置端口、数据库链接信息、mybatis-plus配置信息
 # application.yml完整信息
server:
  port: 8081 # 配置项目启动端口
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource #连接池使用druid
    driver-class-name: com.mysql.cj.jdbc.Driver #数据库链接驱动
    url: jdbc:mysql://localhost:3306/spring-demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai #数据库链接地址
    username: root # 数据库链接用户名
    password: root # 数据库链接密码
mybatis-plus:
  global-config:
    banner: false  #配置关闭mybatis-plus banner
    db-config:
      id-type: auto #配置主键自增
  mapper-locations: classpath:com.mgm.springdemo.mapper/*.xml #配置mapper.xml的位置
  type-aliases-package: com.mgm.springdemo.domain  #配置开启实体类扫描的包路径
logging:
  level:
    com.mgm.springdemo.mapper: debug  #控制台输出sql语句     

功能实现

  • 创建启动类:在com.mgm.springdemo下创建SpringDemoApplication启动类,并添加@SpringBootApplication注解和@MapperScan注解配置mybatis要扫描的mapper的包路径
 @SpringBootApplication //标识此类是一个SpringApplication的启动类
@MapperScan("com.mgm.springdemo.mapper") // 配置mybatis要扫描的mapper接口所在的包路径
public class SpringDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringDemoApplication.class,args);
    }
}  
  • 创建User实体类:在domain下创建User实体类
 @Data  //lombok注解,生成属性的Getter和Setter方法
@TableName("user")
public class User implements Serializable {

    @TableId // 标注此属性与是一个主键字段
    private Integer id;

    @TableField("name") //标注此属性与数据库的那个字段对应,ru'guo'm如果名称相同可以省略不写
    private String name;

    private Integer age;

    private String sex;
    
    private Date birthday;
}  
  • 创建UserMapper:在mapper包下创建UserMapper接口,并继承mybatis-plus的BaseMapper,泛型为User
 @Mapper
public interface UserMapper extends BaseMapper<User> {
}  
  • 创建 users ervice,并编写常用增删改查接口
 public interface UserService{

    // 根据Id查询User
    User findUserById(Integer id);

    //查询所有User
    List<User> findAllUser();

    //保存User
    User saveUser(User user);

    //根据Id更新User
    User updateUserById(User user);

    //根据Id删除user
    void deleteUserById(Integer id);

}  
  • 创建UserServiceImpl类:在impl包下创建UserServiceImpl实现UserServie接口,并重写UserService接口的方法
 @Service //标识此类是UserService接口的一个实现类
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

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

    @Override
    public List<User> findAllUser() {
        List<User> users = userMapper.selectList(null);
        return users;
    }

    @Override
    public User saveUser(User user) {
        userMapper.insert(user);
        return null;
    }

    @Override
    public User updateUserById(User user) {
         userMapper.updateById(user);
        return user;
    }

    @Override
    public void deleteUserById(Integer id) {
        userMapper.deleteById(id);
    }
}  
  • 创建UserController:在controller包下创建UserController,注入UserService编写视图层接口
 @RestController //表示此类是一个controller,并且所有的方法返回json数据
public class UserController {
    
    @Autowired
    private UserService userService;
    
    @GetMapping("/user/{id}")
    public User findUserById(@PathVariable("id") Integer id){
        User user = userService.findUserById(id);
        return user;
    }
    
    @GetMapping("/user/list")
    public List<User> findAllUser(){
        List<User> users = userService.findAllUser();
        return users;
    }
    
    @PostMapping("/user")
    public String saveUser(@RequestBody User user){
        user.setId(null); // id是自增长,要把id赋值为null
        userService.saveUser(user);
        return "保存成功";
    }
    
    @PutMapping("/user")
    public User updateUser(@RequestBody User user){
        User updatedUser = userService.updateUserById(user);
        return updatedUser;
    }
    
    @DeleteMapping("/user/{id}")
    public String deleteUserById(@PathVariable("id") Integer id){
        userService.deleteUserById(id);
        return "删除成功";
    }
}  

功能测试

  • 运行项目:在启动类上选择运行,注意的是我们配置了启动端口为8081,所以测试的时候就要访问8081端口
SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

运行程序

  • 测试工具:对于后端项目的测试也有很多很好的工具,我个人经常使用的是Postman(下载地址:[具体使用方法大家可以自行百度。
  • 测试视图层接口
  1. 测试根据id查找(查找id为1的用户)。结果如下图

SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

测试根据id查询

  1. 测试查询所有用户。查询结果如下图

SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

测试查询所有用户

  1. 新增用户,结果如下图
SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

保存用户操作

SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

保存用户后数据库信息

  1. 根据id修改用户信息(修改id为3的用户,修改用户名为李七,性别为女,年龄为35,出生日期不修改)。结果如下图:

根据id修改数据

修改后数据库结果

  1. 根据id删除用户(删除id为2的用户),结果如下图:

根据id删除id为2的用户

删除id为2的用户后数据库的数据

结束

今天的教程到这里就结束了,感谢您的阅读和支持,也希望能对您有所帮助,喜欢的话请点赞加关注,更多技术会持续更新。

文章来源:智云一二三科技

文章标题:SpringBoot+Mybatis-Plus读取数据库数据实现增删改查

文章地址:https://www.zhihuclub.com/193483.shtml

关于作者: 智云科技

热门文章

网站地图