MyBatis-Plus
使用心得
內建程式產生器
// 官方文件: https://baomidou.com/
// 數據源配置
final DataSourceConfig.Builder DATA_SOURCE_CONFIG =
new DataSourceConfig
.Builder("jdbc:mysql://localhost:3306/game_system", "root", "1qaz2wsx")
.typeConvert(new MySqlTypeConvert());
// 檔案輸出位置
final String outputDir = "./S_Core/src/test/java";
// table list
final List<String> tables = Arrays.asList("member_trans_log");
// 自動生成策略配置
FastAutoGenerator
.create("jdbc:mysql://localhost:3306/game_system", "root", "1qaz2wsx")
// .create(DATA_SOURCE_CONFIG) // 兩種方法都可以 使用 DataSourceConfig 可以有較彈性設定(Ex.選擇db種類)
.globalConfig(builder ->
builder.author("Caster") // 設定作者
.enableSwagger() // entity 補上 swagger annotation
.outputDir(outputDir) // 檔案輸出位置
.disableOpenDir() // 不打開 folder
.fileOverride() // 覆蓋文件 3.5.3 已棄用
.build())
.packageConfig(
builder ->
builder.parent("com.longxiang")
.xml("xml") // 預設會在 mapper.xml 重新配置位置.
.build())
.strategyConfig(
builder ->
builder.addInclude(tables)
.addTablePrefix("") // 設置過濾表前綴 ex. t_user -> "t_"
.controllerBuilder() // enable controller策略配置
.enableRestStyle() // 設置restful風格 => @RestController
.enableHyphenStyle() // url中駝峰轉連字符
.serviceBuilder()
.formatServiceFileName("%sService") // 取消 Service 前面的I
.entityBuilder()
.enableActiveRecord()
.enableLombok() // 啟用 lombok(getter & setter)
.enableChainModel() // 啟用 lombok鏈式操作 => @Accessors(chain = true)
.disableSerialVersionUID()
.build())
.templateConfig(
builder ->
builder.disable(TemplateType.CONTROLLER) // 禁用模板, 這樣就不會生成 controller.
.build())
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默認的是Velocity引擎模板
.execute(); //執行業務實戰應用
Select For Update
Update
Join Table 應用
Join Table 應用
第一種
第二種
第三種 -使用 mybatis-plus-join
Join Table結論
效能分析工具
spy.properties
datasource connect settings
配置完就可以去執行 select 語句, 並且查看 console 內容
select 語句, 並且查看 console 內容Last updated