Mybatis-plus - 图1
image.png

image.png

一、MybatisPlus依赖导入

  1. <dependencies>
  2. <!--mybatis-plus依赖-->
  3. <dependency>
  4. <groupId>com.baomidou</groupId>
  5. <artifactId>mybatis-plus-boot-starter</artifactId>
  6. <version>3.3.1</version>
  7. </dependency>
  8. <dependency>
  9. <groupId>com.baomidou</groupId>
  10. <artifactId>mybatis-plus-generator</artifactId>
  11. <version>3.3.1</version>
  12. </dependency>
  13. <dependency>
  14. <groupId>com.baomidou</groupId>
  15. <artifactId>mybatis-plus-extension</artifactId>
  16. <version>3.3.1</version>
  17. </dependency>
  18. <dependency>
  19. <groupId>mysql</groupId>
  20. <artifactId>mysql-connector-java</artifactId>
  21. <version>8.0.26</version>
  22. </dependency>
  23. <dependency>
  24. <groupId>org.apache.velocity</groupId>
  25. <artifactId>velocity-engine-core</artifactId>
  26. <version>2.3</version>
  27. </dependency>
  28. </dependencies>

二、MybatisPlus创建

  1. /**
  2. * 自动代码生成
  3. * 数据库表格:
  4. * create table tb_user(
  5. * id bigint primary key,
  6. * name varchar(32),
  7. * age int(3)
  8. * )
  9. */
  10. public class MybatisPlusApp {
  11. public static void main(String[] args) {
  12. //创建自动生产代码的工具 自动生成代码
  13. AutoGenerator generator=new AutoGenerator();
  14. //增加配置 如:数据库是什么 表格有那些 生成的代码有什么配置 结构?
  15. DataSourceConfig dataSourceConfig=new DataSourceConfig();
  16. dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
  17. dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8");
  18. dataSourceConfig.setUsername("root");
  19. dataSourceConfig.setPassword("root");
  20. dataSourceConfig.setDbType(DbType.MYSQL); // 数据库类型
  21. generator.setDataSource(dataSourceConfig); // 配置连接池
  22. GlobalConfig globalConfig=new GlobalConfig();
  23. globalConfig.setActiveRecord(true);//使用实体类型insert实现新增操作 是否开始active record功能
  24. generator.setGlobalConfig(globalConfig);//全局配置
  25. PackageConfig packageConfig=new PackageConfig();
  26. packageConfig.setParent("com.epro");
  27. packageConfig.setEntity("pojo");
  28. packageConfig.setMapper("mapper");
  29. packageConfig.setService("service");
  30. packageConfig.setServiceImpl("service.impl");
  31. packageConfig.setController("controller");
  32. packageConfig.setXml("xml");
  33. generator.setPackageInfo(packageConfig);//包结构配置
  34. StrategyConfig strategyConfig=new StrategyConfig();
  35. strategyConfig.setEntitySerialVersionUID(true);
  36. //strategyConfig.setTablePrefix("tb_");//表名前缀
  37. //strategyConfig.setCapitalMode(true);//模式
  38. strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);//下划线转换为头部标记
  39. strategyConfig.setEntityLombokModel(true);//打开lambok
  40. strategyConfig.setNaming(NamingStrategy.underline_to_camel);
  41. strategyConfig.setInclude("tb_user");//包含哪些表格,对应表格做反向代码生成
  42. generator.setStrategy(strategyConfig);//生产策略
  43. generator.execute();//生产代码
  44. }
  45. }