<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 擴展MyBatis Generator MyBatis Generator(MBG)是專為擴展性設計的。所有的代碼生成使用Java和XML元素簡單的DOM表示執行。 Java的DOM包含在`org.mybatis.generator.api.dom.java`包 該XML DOM包含在`org.mybatis.generator.api.dom.xml`包 這些類不足以實現每個可以想象到的代碼生成的可能性,但是用于生成簡單到中等復雜Java和XML代碼相當有用的。 在配置文件中使用的選項,您可以提供自己的許多關鍵代碼生成接口的實現。您也可以繼承任何提供的實現來提供定制的行為。這個頁面將介紹可用的公共API,并提供進一步調查源代碼的指示。如果您對如何擴展MBG有任何的困難,您可以在支持的郵件列表[mybatis-user@googlegroups.com](mailto:mybatis-user@googlegroups.com) 發送信息。 ## 擴展與插入 雖然本網頁上顯示了許多不同的擴展點,在大多數情況下,這將是很容易通過使用插件擴展MBG。查閱[開發插件](pluggingIn.html)的參考頁面了解更多信息。 代碼生成的主要擴展點是`org.mybatis.generator.api.IntrospectedTable` 。實現一個代碼生成器是一個有意義的任務,只有當您想要完全取代MBG的代碼生成活動時才考慮。自從Abator的原始版本以來,很少出現有增強請求無法通過一個插件來處理的。 ## 擴展點 MBG提供了許多不同的擴展點。以下部分列出擴展MBG的不同方法,并描述了可以實現與不同的擴展活動的類型。如果您需要一些了解不同的選擇的幫助,您可以自由的在用戶郵件列表上詢問問題。 ### org.mybatis.generator.api.IntrospectedTable `IntrospectedTable`是一個可以擴展用于提供和MBG供給的版本不同的代碼生成的抽象類。這種實現的一個很好的例子是基于一個FreeMarker的或Velocity模板的實現。在大多數其他情況下,編寫插件是一個更好途徑。 如果您選擇擴展這個類,您必須提供代碼來生成Java和XML文件。您可以選擇生成的這些文件的技術。`IntrospectedTable`基礎類持有的一個`org.mybatis.generator.internal.rules.Rules`實例可查詢許多用于代碼生成的規則。 MBG提供反射表的幾種實現。實現基于`&lt;context&gt;`元素的`targetRuntime`屬性值。在大多數情況下,繼承下面的一個內置的擴展比從頭開始創建一個實現會容易很多。下表顯示了內置的實現: | TargetRuntime | 實現 | | --- | --- | | MyBatis3(默認) | `org.mybatis.generator.codegen.mybatis3.IntrospectedTableMyBatis3Impl` | | Ibatis2Java2 | `org.mybatis.generator.codegen.ibatis2.IntrospectedTableIbatis2Java2Impl` | | Ibatis2Java5 | `org.mybatis.generator.codegen.ibatis2.IntrospectedTableIbatis2Java5Impl` | 如果您選擇實現此擴展點,指定`&lt;context&gt;`元素的`targetRuntime`屬性為您的實現類的完全限定類名。 ### org.mybatis.generator.api.IntrospectedColumn `IntrospectedColumn`是一個包含列的信息的類,因為它是一個從數據庫返回的元數據類。在某些罕見的情況下,可能需要重寫這個類來提供自己的 - 特別是如果您創建了一套新的代碼生成器。 如果您選擇實施此擴展點,指定`&lt;context&gt;`元素的`introspectedColumnImpl`屬性為您實現類的完全限定類名。 ### org.mybatis.generator.api.JavaTypeResolver MBG在內省數據庫時調用這個接口的方法將JDBC類型映射到Java類型。這個接口的默認實現`org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl` 。您可以提供自己的實現,并且默認的實現已被設計為可擴展。 提供您自己的實現,在XML配置中指定全限定的類名: ``` <javaTypeResolver type="mypackage.MyImplementation“> ...</ javaTypeResolver> ``` ### org.mybatis.generator.api.ShellCallback MBG調用這個接口的方法來執行功能,它不能自己做。最重要的功能是: * 翻譯 項??目/包 到一個目錄結構 * 合并事件中的Java源文件同名的現有的Java文件/程序包是否存在。 這個接口的默認實現`org.mybatis.generator.internal.DefaultShellCallback` 。默認實現簡單的將項目和包連接在一起,如果需要則創建必要的包目錄。默認的實現不支持Java文件的合并,并將覆蓋或忽略文件。 您可以提供自己的實現。如果您想將MBG集成到一些其他的環境中,這將是最重要的一個需要編寫的類。例如,Eclipse插件提供的實現在Eclipse環境中運行時,它支持Java文件的合并。 提供您自己的實現,提供有關構造函數的接口`org.mybatis.generator.api.MyBatisGenerator`的實例對象。這個不能通過XML來配置。如果您提供自己的實現此接口的話,我們假設您也提供了一些附加的代碼(如一個新的Ant任務)來運行您的實現。 ### org.mybatis.generator.api.ProgressCallback MBG調用這個接口的方法在文件的生成(長時間運行的進程)中報告進度。這個接口的默認實現`org.mybatis.generator.internal.NullProgressCallback`它只是忽略所有的進度消息。您可以提供此接口的實現,支持進度通知和取消代碼生成。 當集成MBG到其他IDE環境中實現此接口將是重要的。Eclipse的插件提供此接口掛接到Eclipse的進度通知系統的實現。 提供您自己的實現,在`org.mybatis.generator.api.MyBatisGenerator.generate()`的一個方法調用上提供其中一個接口的實例。這個不能通過XML來配置。同樣,我們假設,如果您提供自己的實現此接口,那么您也提供了一些附加代碼(如新的Ant任務或IDE集成)來運行您的實現。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看