Mybatis-Plus自动生成器生成代码基于springboot项目启动

创建springbootweb项目

pom.xml 导入 MBP 依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.2</version>
</dependency>

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.3.2</version>
</dependency>

<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity</artifactId>
    <version>1.7</version>
</dependency>

代码生成器

创建生成类Generate.java

package com.bai.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

public class Generate {
    public static void main(String[] args) {
        //创建generator对象
        AutoGenerator autoGenerator = new AutoGenerator();
        //数据源
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.数据库类型);
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSourceConfig.setUsername("数据库账号");
        dataSourceConfig.setPassword("数据库密码");
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/表名?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8");
        autoGenerator.setDataSource(dataSourceConfig);
        //全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java");
        globalConfig.setAuthor("作者");
        globalConfig.setOpen(false);
        globalConfig.setServiceName("%sService");
        autoGenerator.setGlobalConfig(globalConfig);
        //包信息
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("包名");
        packageConfig.setEntity("entity");
        packageConfig.setMapper("mapper");
        packageConfig.setService("service");
        packageConfig.setServiceImpl("service.impl");
        packageConfig.setController("controller");
        autoGenerator.setPackageInfo(packageConfig);
        //策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setInclude("要生成的表名");
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setEntityLombokModel(true);
        autoGenerator.setStrategy(strategyConfig);
        //运行
        autoGenerator.execute();
    }
}

配置application.yml

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/表名?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8
    username: 数据库账号
    password: 数据库密码
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  mapper-locations: classpath:com/包名/mapper/xml/*.xml
server:
  port: 8181

跨域

package com.bai.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class CrosConfiguration implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOriginPatterns("*")
                .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
                .allowCredentials(true)
                .maxAge(3600)
                .allowedHeaders("*");
    }
}

项目生成后目录

image

实体类

点击查看代码
package com.bai.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author byl
 * @since 2022-09-15
 */
@Data
  @EqualsAndHashCode(callSuper = false)
    public class Books implements Serializable {

    private static final long serialVersionUID=1L;

      /**
     * 书id
     */
        @TableId(value = "bookID", type = IdType.AUTO)
      private Integer bookID;

      /**
     * 书名
     */
      @TableField("bookName")
    private String bookName;

      /**
     * 数量
     */
      @TableField("bookCounts")
    private Integer bookCounts;

      /**
     * 描述
     */
      private String detail;


}

Mapper层

接口类

点击查看代码
package com.bai.mapper;

import com.bai.entity.Books;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author byl
 * @since 2022-09-15
 */
public interface BooksMapper extends BaseMapper<Books> {

}

实现类

点击查看代码
<?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.bai.mapper.BooksMapper">

</mapper>

Service层

接口类

继承IService<实体类类型>类

点击查看代码
package com.bai.service;

import com.bai.entity.Books;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author byl
 * @since 2022-09-15
 */
public interface BooksService extends IService<Books> {

}

实现类

点击查看代码
package com.bai.service.impl;

import com.bai.entity.Books;
import com.bai.mapper.BooksMapper;
import com.bai.service.BooksService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author byl
 * @since 2022-09-15
 */
@Service
public class BooksServiceImpl extends ServiceImpl<BooksMapper, Books> implements BooksService {

}

Controller层

点击查看代码
package com.bai.controller;


import com.bai.entity.Books;
import com.bai.service.BooksService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RestController;

import java.awt.print.Book;
import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author byl
 * @since 2022-09-15
 */
@RestController
@RequestMapping("/books")
public class BooksController {

    @Autowired
    private BooksService service;

    @GetMapping("/list")
    public List<Books> list() {
    return this.service.list();
    }

}


测试

image
成功获取数据

posted @ 2022-09-15 20:05  面向CV工程师  阅读(98)  评论(0编辑  收藏  举报