mybatis_plus插件——生成器
程序员文章站
2022-04-15 15:45:04
最近在学习mybatis框架,虽然已经简化了一些Dao代码,但是还想更上一层楼吗?不再被基本的pojo层,controller层,service层,dao层基本重复代码所困恼吗?这里,让我们来学习一下mybatis plus生成器吧,实现mybatis的逆向工程,最好是以springboot结合。 ......
最近在学习mybatis框架,虽然已经简化了一些dao代码,但是还想更上一层楼吗?不再被基本的pojo层,controller层,service层,dao层基本重复代码所困恼吗?这里,让我们来学习一下mybatis plus生成器吧,实现mybatis的逆向工程,最好是以springboot结合。
一、导入maven依赖,注意版本,以及编写生成器主类
<!--springboot使用mybatis-plus,所需要的2个依赖jar包--> <dependency> <groupid>com.baomidou</groupid> <artifactid>mybatis-plus</artifactid> <version>2.1.9</version> </dependency> <dependency> <!--mybatis自动装配必须要--> <groupid>org.mybatis.spring.boot</groupid> <artifactid>mybatis-spring-boot-autoconfigure</artifactid> <version>1.3.2</version> </dependency>
1 package com.ljg.generator; 2 3 4 import com.baomidou.mybatisplus.enums.idtype; 5 import com.baomidou.mybatisplus.generator.autogenerator; 6 import com.baomidou.mybatisplus.generator.config.datasourceconfig; 7 import com.baomidou.mybatisplus.generator.config.globalconfig; 8 import com.baomidou.mybatisplus.generator.config.packageconfig; 9 import com.baomidou.mybatisplus.generator.config.strategyconfig; 10 import com.baomidou.mybatisplus.generator.config.rules.dbtype; 11 import com.baomidou.mybatisplus.generator.config.rules.namingstrategy; 12 13 import java.sql.sqlexception; 14 15 public class mybatisplusgenerator { 16 17 public static void main(string[] args) throws sqlexception { 18 string tablename="user";//表名,记得创建号数据库表哦 19 autogenerator mpg = new autogenerator(); 20 // 选择 freemarker 引擎,默认 veloctiy 21 //1. 全局配置 22 globalconfig config = new globalconfig(); 23 config.setactiverecord(true) // 是否支持ar模式 24 .setauthor("ljg") // 作者 25 .setenablecache(false)// xml 二级缓存 26 .setoutputdir("d:\\ideaproject\\mybatis_plus_demo\\src\\main\\java") // 生成路径 27 .setfileoverride(true) // 文件覆盖 28 .setidtype(idtype.auto) // 主键策略 29 .setbaseresultmap(true)//生成基本的resultmap 30 .setbasecolumnlist(true)//生成基本的sql片段 31 /* 自定义文件命名,注意 %s 会自动填充表实体属性! */ 32 .setmappername("i%sdao") 33 .setxmlname("i%sdao") 34 .setservicename("i%sservice") 35 .setserviceimplname("%sserviceimpl") 36 .setcontrollername("%scontroller"); 37 mpg.setglobalconfig(config); 38 39 //2. 数据源配置 40 datasourceconfig dsconfig = new datasourceconfig(); 41 dsconfig.setdbtype(dbtype.mysql) // 设置数据库类型 42 .setdrivername("com.mysql.jdbc.driver") 43 .seturl("jdbc:mysql://172.1.10.24/zz?useunicode=true&characterencoding=utf-8") 44 .setusername("root") 45 .setpassword("123456"); 46 mpg.setdatasource(dsconfig); 47 48 //3. 策略配置globalconfiguration中 49 strategyconfig stconfig = new strategyconfig(); 50 stconfig.setcapitalmode(true) //全局大写命名 51 .setdbcolumnunderline(true) // 指定表名 字段名是否使用下划线 52 .setnaming(namingstrategy.underline_to_camel) // 数据库表映射到实体的命名策略 53 //.settableprefix("tbl_")//表名前缀 54 .setinclude(tablename); // 需要生成的表 55 56 //4. 包名策略配置 57 packageconfig pkconfig = new packageconfig(); 58 pkconfig.setparent("com.ljg") 59 .setmapper("dao")//dao 60 .setservice("service")//servcie 61 .setcontroller("controller")//controller 62 .setentity("po") 63 .setxml("mappper");//配置文件mapper/xml 64 65 //5. 整合配置 66 autogenerator ag = new autogenerator(); 67 ag.setglobalconfig(config) 68 .setdatasource(dsconfig) 69 .setstrategy(stconfig) 70 .setpackageinfo(pkconfig); 71 72 //6. 执行 73 ag.execute(); 74 } 75 }
二、执行结果:
一键构成三层架构:controller层、service层,dao层,以及mybatis.xml文件。
上一篇: WPF(1) 自定义面板-阶梯状面板
下一篇: vue 上传进度显示