Mybatis-Plus自动生成器生成代码基于springboot项目启动
2024-10-20 03:29:40
创建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("*");
}
}
项目生成后目录
实体类
点击查看代码
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();
}
}
测试
成功获取数据
最新文章
- 将一张表的数据,拷贝到另一张表中sql
- jQuery的选择器中的通配符
- 关于ajax跨域请求(cross Domain)
- nginx(2、反向代理)
- HTML基础(2)
- jQuery UI 实例 - 对话框(Dialog)(zhuan)
- 移动互联网实战--Apple的APNS桩推送服务的实现(2)
- Shanghai InfoSys .NET engineer telephone interview
- 开发错误日志之IllegalArgumentException:MALFORMED
- h.264并行解码算法3D-Wave实现(基于多核共享内存系统)
- Unity3D 创建一个简单的2D游戏
- 【Android Studio】没有先安装JDK
- Mqtt服务器搭建
- 深度解析C++拷贝构造函数
- Oracle的坑,你是否踩过?----安装篇
- ACM常用STL
- PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn&#39;t load from &#39;http://xxxx.wsdl&#39;
- (转)怎么实时查看mysql当前连接数
- 多校寒训TaoTao要吃鸡dp
- sublime text3修改默认配置文件是失败的解决方法
热门文章
- 一文带你了解webrtc基本原理(动手实现1v1视频通话)
- CSS(上)
- DolphinScheduler 功能开发:⼯作流级别任务空跑(后端),测试工作流是否正确执行...
- Usmjeri(COCI2017.2)题解
- 免杀手法-tcp套字节传递shellcode学习
- ubuntu下安装python
- 【ASP.NET Core】在Blazor中获取 HTTP 上下文信息
- KingbaseESV8R6等待事件之lwlock buffer_content
- 小结event.target与this
- 注解@DependsOn解析