2020-12-19

MyBatisPlus-自动生成代码

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

一、依赖

1、pom.

<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.1.tmp</version></dependency><dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version></dependency>

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 { /**  * <p>  * 读取控制台内容  * </p>  */ 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.Driverspring.datasource.url=jdbc:mysql://localhost:3306/springboot?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8spring.datasource.username=rootspring.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

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;/** * <p> * 前端控制器 * </p> * * @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

<!DOCTYPE html><html lang="en" 

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









原文转载:http://www.shaoqun.com/a/501428.html

跨境电商:https://www.ikjzd.com/

贝恩资本:https://www.ikjzd.com/w/1336

黄劲:https://www.ikjzd.com/w/2426


根据数据表自动生成实体类、Mapper、Service、ServiceImpl、Controller一、依赖1、pom.<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.3.1
启明星软件:启明星软件
东杰智能:东杰智能
2020五一怎么放假的?五一假怎么安排?:2020五一怎么放假的?五一假怎么安排?
封号数天的亚马逊傲基账号被解封!傲基账号到底因何被封?:封号数天的亚马逊傲基账号被解封!傲基账号到底因何被封?
惠州巽寮湾有什么好玩的?:惠州巽寮湾有什么好玩的?

No comments:

Post a Comment