根据数据表自动生成实体类、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

数据库中的表

0f53e9b0eb320b6a890e46144b7359bf.png

二、启动类

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();

}

}

d84a3b7a811347ebfc84201e928eafed.png

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

三、测试

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

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

d1a19babf4d09be33aaf5e4bbf72c229.png

总结

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

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

小编个人微信号 jb51ccc

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐