哈嘍,大家好,我是木頭左,AI改變生活!
本文將詳細解釋 MyBatis 生成 Java 代碼的過程,包括全局配置、數據源配置和策略配置。
1. 全局配置
首先,我們需要創(chuàng)建一個 GlobalConfig 對象,用于配置 MyBatis 的全局設置。以下是一些常用的全局配置選項:
-
setOutputDir(String outputDir):設置生成 Java 代碼的輸出目錄。 -
setFileOverride(boolean fileOverride):設置是否覆蓋已存在的同名文件。 -
setActiveRecord(boolean activeRecord):設置是否生成 ActiveRecord 特性。如果不需要 ActiveRecord 特性,請設置為 false。 -
setEnableCache(boolean enableCache):設置是否啟用二級緩存。 -
setBaseResultMap(boolean baseResultMap):設置是否生成 XML ResultMap。 -
setBaseColumnList(boolean baseColumnList):設置是否生成 XML columList。 -
setAuthor("pengzuo"):設置作者信息。 -
setMapperName("%s"):設置 Mapper 接口的命名規(guī)則。 -
setServiceImplName("%sDaoImpl"):設置 Service 實現(xiàn)類的命名規(guī)則。 -
setServiceName("I%sDao"):設置 Service 接口的命名規(guī)則。 -
setEntityName("%sEntity"):設置 Entity 類的命名規(guī)則。 -
setControllerName("%sController"):設置 Controller 類的命名規(guī)則。
接下來,我們將這些全局配置應用到 MyBatis Generator(MBG)中:
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(outPut + "java");
gc.setFileOverride(true);
gc.setActiveRecord(true);
gc.setEnableCache(false);
gc.setBaseResultMap(true);
gc.setBaseColumnList(false);
gc.setAuthor("mutouzuo");
gc.setMapperName("%s");
gc.setServiceImplName("%sDaoImpl");
gc.setServiceName("I%sDao");
gc.setEntityName("%sEntity");
gc.setControllerName("%sController");
mpg.setGlobalConfig(gc);
2. 數據源配置
數據源配置用于設置 MyBatis Generator 連接數據庫的相關參數。以下是一些常用的數據源配置選項:
-
setDbType(DbType dbType):設置數據庫類型,如 MySQL、PostgreSQL 等。 -
setDriverName(String driverName):設置數據庫驅動類名。 -
setUsername(String username):設置數據庫用戶名。 -
setPassword(String password):設置數據庫密碼。 -
setUrl(String url):設置數據庫連接 URL。
接下來,我們將這些數據源配置應用到 MyBatis Generator(MBG)中:
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.POSTGRE_SQL);
dsc.setDriverName("org.postgresql.Driver");
dsc.setUsername(username);
dsc.setPassword(password);
dsc.setUrl(dbUrl);
mpg.setDataSource(dsc);
3. 策略配置
策略配置用于設置 MyBatis Generator 生成代碼的策略,例如表名生成策略、字段常量生成策略等。以下是一些常用的策略配置選項:
-
setTablePrefix(String[] tablePrefix):設置需要生成代碼的表的前綴。 -
setNaming(NamingStrategy naming):設置表名生成策略,如下劃線轉駝峰命名等。 -
setEntityColumnConstant(boolean entityColumnConstant):設置是否為實體類生成字段常量。 -
setEntityTableFieldAnnotationEnable(boolean entityTableFieldAnnotationEnable):設置是否為實體類生成字段注解。 -
setInclude(String[] include):設置需要生成代碼的表名。
接下來,我們將這些策略配置應用到 MyBatis Generator(MBG)中:
StrategyConfig strategy = new StrategyConfig();
strategy.setTablePrefix(new String[]{tablePrefix});
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setEntityColumnConstant(true);
strategy.setEntityTableFieldAnnotationEnable(true);
strategy.setInclude(new String[]{"tb_app"});
mpg.setStrategy(strategy);
至此,我們已經完成了 MyBatis Generator 的配置。接下來,我們可以運行 MyBatis Generator 命令來根據配置文件生成 Java 代碼。
我是木頭左,感謝各位童鞋的點贊、收藏,我們下期更精彩!
[圖片上傳失敗...(image-894e5-1718103923367)]