MyBatis Generator嘗試與踩坑
一直覺得使用MyBatis時手寫Mapper以及xml很費時間,瞭解到MyBatis Generator這個東西,決定嘗試一下效果。按照官方教程以及各種搜到的教程,如MyBatis Generator生成程式碼的幾種方式,一步步完成配置(首先嚐試的是Maven plugin的方式),確實挺簡單,完成配置後執行maven-project就成功地生成了程式碼。
移除Example方法
但是發現生成的程式碼中有個Example,這是個什麼鬼,後來在官方文件中看到原來是用於自定義sql的,官方文件有比較詳細使用示例。但是!使用起來好麻煩,我不需要!可以這樣配置:
<table tableName="%"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false" >
</table>
在配置檔案中table標籤新增各種Example的false即可不生成相應的方法。順便說下tableName指定為%
表示生成所有表,很好用,不用一個個表配置了。
下一個問題是沒有自己常用的方法啊,例如查list什麼的,業務中很常見啊!!只能自己定義方法了吧。
自定義方法
我找到了這篇文章 Mybatis Generator自定義擴充套件,它是通過Generator Plugin的方式新增新的方法。我原樣copy,執行maven-project——報錯Cannot instantiate object of type CustomPlugin
。見了鬼了,明明有這個類怎麼找不到。後來根據經驗猜測maven plugin執行的環境是獨立的環境,畢竟pom中新增maven的時候還單獨新增了dependencies,也就是說我們自己寫的類根本沒有在mybatis-generator-maven-plugin的執行環境中。
解決方法之一:mybatis外掛--(1)--mybatis generator自定義外掛或者擴充套件報Cannot instantiate object of type XXX 裡面提到幾個方法,但思路基本是將自己寫的Generator Plugin新增到環境中。
個人感覺太過麻煩,改換Java的方式吧!
private static void generator() throws Exception {
File configFile = new ClassPathResource("generatorConfig.xml").getFile();
List<String> warnings = new ArrayList<String>();
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(true);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
System.out.println("程式碼生成完畢>>>>>>>>>>>>");
}
執行成功,結果毛都沒有,我的程式碼那?生成在哪?
又是一頓搜尋,原來是targetProject=".\src"
會找不到路徑 ,
改為:targetProject="/Users/xxx/xxx/xxx/xxx/mybatis/config"
全路徑就可以了。
出現WithBLOBs的Bean
如果你的table中的欄位宣告的型別是text或者blob時,此時會自動生一個WithBLOBs的Bean的來處理這種欄位。如果不想改表的宣告,那麼也可以這樣做:MyBatis逆向工程自動生成的xml配置檔案片段出現*WithBLOBsjava程式碼。
相關文章
- 為 Android 編譯並整合 FFmpeg 的嘗試與踩坑Android編譯
- mybatis學習與踩坑記錄MyBatis
- 總結:使用MyBatis Generator時遇到的坑MyBatis
- mybatis generatorMyBatis
- Mybatis-GeneratorMyBatis
- MyBatis generator配置MyBatis
- MyBatis Generator配置使用MyBatis
- mybatis plus +springboot +jsp整合踩坑指南MyBatisSpring BootJS
- Webpack的踩坑與彙總Web
- pwa+webpack,初探與踩坑Web
- Universal Link踩坑與研究
- mybatis的外掛:mybatis-generator(MBG)MyBatis
- 修改myBatis Generator原始碼MyBatis原始碼
- MyBatis Generator 用法詳解MyBatis
- jmeter:測試片段使用的踩坑點JMeter
- PHP 引用詳解 - 踩坑與妙用PHP
- MyBatis Generator 超詳細配置MyBatis
- MyBatis Generator配置及執行MyBatis
- ] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin Cannot instantiate object of typeAIGoMyBatisMavenPluginObject
- angular踩坑Angular
- 相容踩坑
- Flutter 踩坑Flutter
- vue踩坑Vue
- CDH踩坑
- THEOS踩坑。。。
- 嘗試 WebGPU 過程中掉的一些坑WebGPU
- 使用phoenix踩的坑與設計思考
- Solr 部署與使用踩坑全記錄Solr
- typescript-react-webpack4 起手與踩坑TypeScriptReactWeb
- 微信小程式的踩坑與優化。微信小程式優化
- PX4配置過程與踩坑
- 小程式踩坑填坑
- 嘗試
- 使用Java程式碼配置MyBatis GeneratorJavaMyBatis
- MyBatis-Plus Generator自定義模板MyBatis
- eclipse安裝mybatis-generatorEclipseMyBatis
- MyBatis Generator自動生成程式碼MyBatis
- 嘗試使用 pack 與 unpack 函式函式