Spring Boot框架和Mybatis-Plus框架搭建

  • Post author:
  • Post category:其他


Spring Boot是一个基于Spring框架的快速开发Web应用的框架,它简化了Web项目的搭建和部署过程,同时集成了大量的开发工具和优秀的第三方库,比如Mybatis-Plus框架,可以大幅度提升开发效率和代码质量。

在本文中,我将分享如何使用Spring Boot框架和Mybatis-Plus框架搭建一个基础的Web项目,包括数据库连接、数据表创建、实体类、控制器、服务等方面的内容。

一、创建Spring Boot项目

首先我们需要创建一个Spring Boot项目,可以使用Spring官方的初始化工具start.spring.io来创建一个简单的项目模板。在这里我们选择使用Gradle来构建项目,Java版本为11,Spring Boot版本为2.5.5。

创建好项目后,我们需要在build.gradle中加入Mybatis-Plus的依赖:

implementation ‘com.baomidou:mybatis-plus-boot-starter:3.4.3’

二、配置数据库连接

在application.yml中添加数据库连接的配置:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
    username: root
    password: password

在本例中,我们使用的是MySQL数据库,数据库名为test,用户名为root,密码为password。可以根据实际情况进行修改。

三、创建数据表并生成实体类

Mybatis-Plus框架可以通过代码自动生成数据表和实体类,非常方便。我们可以使用Mybatis-Plus Generator来生成数据表和实体类。可以在build.gradle中添加以下依赖:

implementation ‘com.baomidou:mybatis-plus-generator:3.4.3’

然后在项目中添加一个GeneratorConfig类,用来配置代码生成器:

package com.example.demo.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

public class GeneratorConfig {
    public static void main(String[] args) {
        AutoGenerator autoGenerator = new AutoGenerator();
        GlobalConfig globalConfig = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        globalConfig.setOutputDir(projectPath + "/src/main/java");
        globalConfig.setAuthor("blog.yingge.fun");
        globalConfig.setOpen(false);
        globalConfig.setFileOverride(true);
        globalConfig.setServiceName("%sService");
        globalConfig.setIdType(IdType.AUTO);
        globalConfig.setDateType(DateType.ONLY_DATE);
        autoGenerator.setGlobalConfig(globalConfig);

        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8");
        dataSourceConfig.setDbType(DbType.MYSQL);
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("password");
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        autoGenerator.setDataSource(dataSourceConfig);

        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.example.demo");
        autoGenerator.setPackageInfo(packageConfig);

        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setEntityLombokModel(true);
        strategyConfig.setRestControllerStyle(true);
        strategyConfig.setTablePrefix(packageConfig.getModuleName() + "_");
        autoGenerator.setStrategy(strategyConfig);

        autoGenerator.execute();
    }
}

运行GeneratorConfig类后会在项目中自动生成相应数据库表对应的实体类,我们可以根据需要修改实体类的内容。

四、创建控制器和服务

在Spring Boot项目中,我们需要使用控制器和服务来实现Web API的功能。首先,我们来创建一个旅游产品的控制器:

package com.example.demo.controller;

import com.example.demo.entity.Product;
import com.example.demo.service.ProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping(“/api/v1/products”)
public class ProductController {
    @Autowired
    private ProductService productService;
    @GetMapping
    public List<Product> getProductList() {
        return productService.getProductList();
    }

    @GetMapping("/{id}")
    public Product getProductById(@PathVariable Long id) {
        return productService.getProductById(id);
    }

    @PostMapping
    public Product createProduct(@RequestBody Product product) {
        return productService.createProduct(product);
    }

    @PutMapping("/{id}")
    public Product updateProduct(@PathVariable Long id, @RequestBody Product product) {
        return productService.updateProduct(id, product);
    }

    @DeleteMapping("/{id}")
    public void deleteProduct(@PathVariable Long id) {
        productService.deleteProduct(id);
    }
}

在上述代码中,我们使用@RestController注解来声明一个控制器,并使用@Autowired注解来注入ProductService服务。通过@GetMapping、@PostMapping、@PutMapping和@DeleteMapping等注解来定义控制器的不同API接口,这些控制器接口可以对旅游产品进行增删改查的操作。

接着,我们来创建一个ProductService服务,该服务实现了对旅游产品的增删改查操作:

```java
package com.example.demo.service;

import com.example.demo.entity.Product;
import com.example.demo.mapper.ProductMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ProductService {
    @Autowired
    private ProductMapper productMapper;

    public List<Product> getProductList() {
        return productMapper.selectList(null);
    }

    public Product getProductById(Long id) {
        return productMapper.selectById(id);
    }

    public Product createProduct(Product product) {
        productMapper.insert(product);
        return product;
    }

    public Product updateProduct(Long id, Product product) {
        product.setId(id);
        productMapper.updateById(product);
        return product;
    }

    public void deleteProduct(Long id) {
        productMapper.deleteById(id);
    }
}

在上述代码中,我们使用@Service注解来声明ProductService服务,并使用@Autowired注解来自动注入ProductMapper映射器。该服务实现了对旅游产品的增删改查操作,并通过ProductMapper映射器来读取和操作数据库。

五、总结

在这篇博客中,我们介绍了如何使用Spring Boot框架和Mybatis-Plus框架搭建一个基础的Web项目,包括数据库连接、数据表创建、实体类、控制器和服务等方面的内容。通过这个示例项目,我们可以了解Spring Boot和Mybatis-Plus的基本用法,并掌握Web开发的基本流程和操作方法。在实际项目中,我们可以根据需求进行适当的扩展和调整,同时加入更多的功能和应用。

接下来,我想简要总结一下本文中的关键点:

  1. Spring Boot是一个基于Spring框架的快速开发Web应用的框架,可以大幅度提升开发效率和代码质量。

  2. Mybatis-Plus是一个基于Mybatis框架的快速开发ORM框架,可以大幅度简化数据库操作和代码编写。

  3. 通过使用Mybatis-Plus Generator可以快速生成数据库表和实体类,避免手动编写SQL语句和实体类的繁琐过程。

  4. 在Spring Boot项目中,我们可以使用控制器和服务来实现Web API的功能,可以通过@GetMapping、@PostMapping、@PutMapping和@DeleteMapping等注解来定义控制器的不同API接口,通过@Service注解来声明服务。

希望这篇博客能够对读者们有所帮助,对于想深入学习Spring Boot和Mybatis-Plus的读者们,建议多看一些相关的文档和示例,进行更深入的学习和应用。



版权声明:本文为m0_61428275原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。