根据数据表自动生成实体类、Mapper、Service、ServiceImpl、Controller

一、依赖

1、pom.xml 导入 MyBatis Plus Generator

com.baomidou

mybatis-plus-generator

3.3.1.tmp

org.apache.velocity

velocity

1.7

Velocity(默认)、Freemarker、Beetl

数据库中的表

二、启动类

package com.md.mybatisplus;

import com.baomidou.mybatisplus.annotation.DbType;

import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;

import com.baomidou.mybatisplus.core.toolkit.StringUtils;

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;

import java.util.Scanner;

/**

* @author md

* @Desc

* @date 2020/10/26 22:13

*/

public class main {

/**

*

* 读取控制台内容

*

*/

public static String scanner(String tip) {

Scanner scanner = new Scanner(System.in);

StringBuilder help = new StringBuilder();

help.append("请输入" + tip + ":");

System.out.println(help.toString());

if (scanner.hasNext()) {

String ipt = scanner.next();

if (StringUtils.isNotBlank(ipt)) {

return ipt;

}

}

throw new MybatisPlusException("请输入正确的" + tip + "!");

}

public static void main(String[] args) {

//创建generator对象

AutoGenerator autoGenerator = new AutoGenerator();

//数据源

DataSourceConfig dataSourceConfig = new DataSourceConfig();

dataSourceConfig.setDbType(DbType.MysqL);

dataSourceConfig.setUrl("jdbc:MysqL://localhost:3306/springboot?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8");

dataSourceConfig.setUsername("root");

dataSourceConfig.setPassword("123456");

dataSourceConfig.setDriverName("com.MysqL.cj.jdbc.Driver");

autoGenerator.setDataSource(dataSourceConfig);

//全局配置

GlobalConfig globalConfig = new GlobalConfig();

// 工程的绝对路径+下面的目录,根据自己的路径修改

globalConfig.setOutputDir(System.getProperty("user.dir")+"/02-auto/src/main/java");

globalConfig.setOpen(false);

globalConfig.setAuthor("md");

globalConfig.setServiceName("%sService");

autoGenerator.setGlobalConfig(globalConfig);

//包信息

PackageConfig packageConfig = new PackageConfig();

packageConfig.setParent("com.md.mybatisplus");

// 生成的module

packageConfig.setModuleName(scanner("模块名:"));

packageConfig.setController("controller");

packageConfig.setService("service");

packageConfig.setServiceImpl("service.impl");

packageConfig.setMapper("mapper");

packageConfig.setEntity("entity");

autoGenerator.setPackageInfo(packageConfig);

//配置策略

StrategyConfig strategyConfig = new StrategyConfig();

// 自动添加Lombok注解

strategyConfig.setEntityLombokModel(true);

// 数据库中的下划线改驼峰

strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);

strategyConfig.setNaming(NamingStrategy.underline_to_camel);

// 可以指定表名

strategyConfig.setInclude(scanner("表名,多个英文逗号分割").split(","));

autoGenerator.setStrategy(strategyConfig);

autoGenerator.execute();

}

}

这样就基本生成,默认有很多方法,可以直接使用

三、测试

1. Application

加入mapper

package com.md.mybatisplus;

import org.mybatis.spring.annotation.MapperScan;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

@MapperScan(value = "com.md.mybatisplus.user.mapper")

public class Application {

public static void main(String[] args) {

SpringApplication.run(Application.class,args);

}

}

2. 主配置文件

spring.datasource.driver-class-name=com.MysqL.cj.jdbc.Driver

spring.datasource.url=jdbc:MysqL://localhost:3306/springboot?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8

spring.datasource.username=root

spring.datasource.password=123456

# 专门用于打印日志

mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

#thymeleaf 模版前缀,默认可以不写

spring.thymeleaf.prefix=classpath:/templates/

#thymeleaf 模版后缀,默认可以不写

spring.thymeleaf.suffix=.html

3. pom.xml

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.3.4.RELEASE

com.md.mybatisplus

02-auto

0.0.1-SNAPSHOT

02-auto

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-thymeleaf

org.springframework.boot

spring-boot-starter-web

org.projectlombok

lombok

true

MysqL

MysqL-connector-java

5.1.9

com.baomidou

mybatis-plus-boot-starter

3.3.1.tmp

com.baomidou

mybatis-plus-generator

3.3.1.tmp

org.apache.velocity

velocity

1.7

org.springframework.boot

spring-boot-starter-test

test

org.junit.vintage

junit-vintage-engine

org.springframework.boot

spring-boot-maven-plugin

4. UserController

package com.md.mybatisplus.user.controller;

import com.md.mybatisplus.user.service.UserService;

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.servlet.ModelAndView;

/**

*

* 前端控制器

*

*

* @author md

* @since 2020-10-26

*/

@Controller

@RequestMapping("/user/user")

public class UserController {

@Autowired

private UserService userService;

@GetMapping("/index")

public ModelAndView index(){

ModelAndView mv = new ModelAndView();

mv.setViewName("index");

// 自动生成的方法,直接使用,查询数据库中的全部数据

mv.addObject("users",userService.list());

return mv;

}

}

5. index

templates下的index.html

Title

此时访问页面就可以访问到数据库中的数据

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

mybatis自动生成的html,MyBatisPlus-自动生成代码相关推荐

  1. insert into select 主键自增_springboot2结合mybatis拦截器实现主键自动生成

    点击上方蓝字关注我们 1 01 前言 前阵子和朋友聊天,他说他们项目有个需求,要实现主键自动生成,不想每次新增的时候,都手动设置主键.于是我就问他,那你们数据库表设置主键自动递增不就得了.他的回答是他 ...

  2. by mybatis 自定义order_springboot2结合mybatis拦截器实现主键自动生成

    点击上方蓝字关注我们 1 01 前言 前阵子和朋友聊天,他说他们项目有个需求,要实现主键自动生成,不想每次新增的时候,都手动设置主键.于是我就问他,那你们数据库表设置主键自动递增不就得了.他的回答是他 ...

  3. 自动生成mybatisplus的相关代码

    导入对应的jar包,这就不用多说了 package com.app.appapi.generatorcode;import com.baomidou.mybatisplus.core.toolkit. ...

  4. mybatis-plus自动生成文件

    mybatis-plus自动生成文件 package com.common;import com.baomidou.mybatisplus.annotation.IdType; import com. ...

  5. 2-2 SPU和SKU详解及MyBatisPlus自动生成

    2-2 SPU和SKU详解   商城系统中的商品信息肯定避免不了SPU和SKU这两个概念,本节就给大家详细介绍下这块的内容 1.掌握SKU和SPU关系 SPU = Standard Product U ...

  6. Mybatis-Plus自动生成代码,自定义Controller

    MP网址:https://baomidou.com/pages/779a6e/#%E4%BD%BF%E7%94%A8 直接copy官网代码修改成自己的: private void generate() ...

  7. java生成iso9660工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo_20210212 v7.0.0 正式版发布,此次版本更新如下: 1.新增对DB2数据库的支持 2.新增按字段生成文件,支持把字段.JSON.XML数据转换成任何代码 3.新增大量新的自 ...

  8. freemarker mysql 生成bean_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.6.6版)...

    TableGo_20191026 v6.6.6 正式发布,此次版本更新如下: 1.新增通过自定义模板生成Word文档的功能,可以使用FreeMarker模板生成自定义格式的数据库文档. 2.新增 Sw ...

  9. 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.9.0版)

    TableGo_20200520 v6.9.0 正式版发布,此次版本更新如下:           1.新增对JDK9及以上版本Java环境的支持           2.生成JavaBean更名为生 ...

  10. 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.4.0版)

    TableGo_20210921 v7.4.0 正式版发布,此次版本累计更新如下:           1.新增企业或个人的简单定制版本,为企业和个人提供软实力的增值           2.新增导入 ...

最新文章

  1. Https的底层原理
  2. java 配置文件书写_配置文件的写法(properties类型)
  3. leetcode算法题--在排序数组中查找数字 I
  4. HWS计划 decryption 寒假逆向生涯(17/100)
  5. 函数集成redis与Spring集成
  6. mysql 事务关联_MySQL 关联、联合查询,事务ACID见解
  7. 为什么在一个公司待了两三年就想离职?
  8. Ascll字符串转换到二进制字符串
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的理发预约系统
  10. 什么图用什么工具画?
  11. 开课吧:浅析HTML5高薪的原因所在
  12. pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能
  13. Matlab图像分割
  14. 电子厂计算机维修周记,电子厂实习周记【三篇】【完整版】
  15. 3月编程排行榜来了~有哪些新看点?
  16. 1072 开学寄语 (20 分)
  17. Amlogic A311D2 八核 Arm 处理器支持高达 16GB RAM
  18. 产品| 产品经理学习路径及职业规划
  19. Redis的数据结构及底层原理
  20. 4、IOC 之Bean的依赖关系

热门文章

  1. windows 中配置 Java 开发环境
  2. 【推荐收藏】11种比较常用的时间序列预测模型
  3. Jason格式化Google插件FeHelper(Get请求)
  4. button的外边去除、圆形div、合并单元格、下拉菜单、div隐藏
  5. mysql 日期能用索引_mysql 日期与索引问题
  6. 统计学基础1:描述性统计(数据的离散度、极差、方差、标准差)
  7. 关于前端接口 jquery的ajax请求
  8. flutter dart ..addAll
  9. 米莱狄的机器人是_王者荣耀:米莱狄没伤害?换个玩法,一个大招秒杀战士
  10. c语言unsigned占几字节,在C语言中,double、long、unsigned、int、char类型数据所占字节数(示例代码)...