mybatisplus程式碼生成器
阿新 • • 發佈:2020-08-16
1、比較MP 的程式碼生成器 和 Mybatis MBG 程式碼生成器:
MP 的程式碼生成器都是基於 java 程式碼來生成。MBG 基於 xml 檔案進行程式碼生成
MyBatis 的程式碼生成器可生成: 實體類、Mapper 介面、Mapper 對映檔案
MP 的程式碼生成器可生成: 實體類(可以選擇是否支援 AR)、Mapper 介面、Mapper 對映檔案、 Service 層、Controller 層.
2、表及欄位命名策略選擇
在 MP 中,我們建議資料庫表名 和 表字段名採用駝峰命名方式, 如果採用下劃 線命名方式 請開啟全域性下劃線開關,如果表名欄位名命名方式不一致請註解指定,我 們建議最好保持一致。
3、如何使用程式碼生成器
1)加入依賴資訊
<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> </dependency>
2)生成器程式碼
@Test public void testGenerater(){ //1、全域性策略配置 GlobalConfig config = new GlobalConfig(); config.setActiveRecord(true) .setAuthor("houchen") .setOutputDir("D:\\myworkspace\\mybatis-plus\\mp03\\src\\main\\java") .setFileOverride(true) //多次生成是否檔案覆蓋 .setIdType(IdType.AUTO) .setServiceName("%sService") //設定生成的service介面的名字的首字母是否為I .setBaseResultMap(true) .setBaseColumnList(true); //生成基本的sql片段 //2、資料來源配置 DataSourceConfig dsConfig = new DataSourceConfig(); dsConfig.setDbType(DbType.MYSQL) .setDriverName("com.mysql.jdbc.Driver") .setUrl("jdbc:mysql://localhost:3306/mybatis") .setUsername("root") .setPassword("houchen"); //3、策略配置 StrategyConfig sconfig = new StrategyConfig(); sconfig.setCapitalMode(true) //開啟全域性大寫命名 .setDbColumnUnderline(true) //指定表名 欄位名是否設定下劃線 .setNaming(NamingStrategy.underline_to_camel) //下劃線轉駝峰 .setTablePrefix("tbl_") //設定表名字首 .setInclude("tbl_employee"); //生成使用的表 //4、包名配置 PackageConfig packageConfig = new PackageConfig(); packageConfig.setParent("com.atguigu.mp") .setController("controller") .setService("service") .setMapper("mapper") .setEntity("beans") .setXml("mapper"); // sql 對映檔案 //5、整合所有的配置 AutoGenerator autoGenerator = new AutoGenerator(); autoGenerator.setGlobalConfig(config); autoGenerator.setDataSource(dsConfig); autoGenerator.setStrategy(sconfig); autoGenerator.setPackageInfo(packageConfig); //6、執行 autoGenerator.execute(); }