mybatisPlus生成項目
阿新 • • 發佈:2019-05-12
web ets 新項目 base sources jdb tdi 指定 conf
記錄是為了更好的成長!
mybatisPlus生成工具,這裏以spgingBoot構建項目說明
1、引入jar
(如果使用 https://start.spring.io/ 構建springBoot項目只需選 web 和 mysql即可,然後加入下面的依賴到pom文件中)
<!-- 阿裏巴巴druid數據庫連接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version> </dependency> <!-- mybatisplus與springboot整合 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.1</version> </dependency>
2、java文件
package com; import java.util.ArrayList; import java.util.List; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.InjectionConfig; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.FileOutConfig; 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.TemplateConfig; import com.baomidou.mybatisplus.generator.config.po.TableInfo; import com.baomidou.mybatisplus.generator.config.rules.DbType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; /** * <p> * 代碼生成器演示 * </p> */ public class MybatisPlusGenerator { public static void main(String[] args) { AutoGenerator mpg = new AutoGenerator(); /* * 配置路徑 */ String projectPath = System.getProperty("user.dir"); //獲取項目路徑 String objPath = projectPath + "/src/main/java"; //獲取java目錄 String parentPackage = "com"; //配置包路徑 /* * 全局配置 */ GlobalConfig gc = new GlobalConfig(); gc.setOutputDir (objPath); //配置路徑 gc.setOpen (false); //是否打開生成的文件夾 gc.setAuthor ("author"); //author /* 自定義文件命名,註意 %s 會自動填充表實體屬性! */ gc.setMapperName ("%sMapper"); //設置mapper接口後綴 gc.setServiceName ("%sService"); //設置Service接口後綴 gc.setServiceImplName ("%sServiceImpl"); //設置Service實現類後綴 gc.setControllerName ("%sController"); //設置controller類後綴 gc.setXmlName ("%sMapper"); //設置sql映射文件後綴 gc.setFileOverride(true); // 是否覆蓋同名文件,默認是false gc.setActiveRecord(false); // 不需要ActiveRecord特性的請改為false gc.setEnableCache(false); // XML 二級緩存 gc.setBaseResultMap(true); // XML ResultMap gc.setBaseColumnList(false); // XML columList mpg.setGlobalConfig(gc); /* * 數據源配置 */ DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL) .setDriverName("com.mysql.cj.jdbc.Driver") .setUrl("jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true") .setUsername("root") .setPassword("root"); mpg.setDataSource(dsc); /* * 策略配置 */ StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel) // 表名生成策略 .setRestControllerStyle(true) //設置controller自動加RestController註解 //.setInclude(new String[] {"user"}); //修改替換成你需要的表名,多個表名傳數組,如果註釋掉就生成庫中所有的表 //.setTablePrefix(new String[] { "t_" }) // 此處可以修改為您的表前綴 ; mpg.setStrategy(strategy); // 包配置 PackageConfig packageConfig = new PackageConfig(); packageConfig.setParent(parentPackage) .setController("controller") /*.setService("service") //服務接口 .setServiceImpl("service.impl") //服務實現 .setMapper("mapper") //dao層 .setXml("mapper") //dao層對應的xml文件 .setEntity("entity")*/; //pojo對象 mpg.setPackageInfo(packageConfig); // 自定義配置 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { // to do nothing } }; //自定義xml的存放路徑 List<FileOutConfig> focList = new ArrayList<>(); focList.add(new FileOutConfig("/templates/mapper.xml.vm") { @Override public String outputFile(TableInfo tableInfo) { // 自定義Mapper.xml文件存放的路徑 return projectPath + "/src/main/resources/mappers/" + tableInfo.getEntityName() + "Mapper.xml"; } }); cfg.setFileOutConfigList(focList); mpg.setCfg(cfg); // 關閉默認 xml 生成,調整生成 至 根目錄 mpg.setTemplate(new TemplateConfig().setXml(null)); // 執行生成 mpg.execute(); } }
3、運行java文件,刷新項目即可
4、啟動springBoot項目需要在啟動類加@MapperScan註解,指定mapper的目錄
5、生成的項目並不一定滿足我們的需要,需要自定義sql查詢,直接在生成的mapper接口和mapper映射文件中追加即可
註意: 如果需要自定義sql語句,就必須要在配置文件中指定 mybatis-plus.mapper-locations=classpath:mappers/*.xml 不能寫成 mybatis.mapper-locaitons=classpath:mappers/*.xml
github示例: https://github.com/kh5218/DemoForSpringBoot/tree/master/mybatisplus
以上內容代表個人觀點,僅供參考,不喜勿噴。。。
mybatisPlus生成項目