<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## MetadataManager 此類定義了數據庫的Metadata,類似JDBC的DatabaseMetaData。但考慮到有些數據庫可能沒有metadata,比如文件系統,因此 MetadataManager有如下子類 * SchemaMetadataManager: 大部分數據庫,大數據使用,這些數據庫都有嚴格的schema * NoSchemaMetaDataManager,無schema,如drill使用文件系統,這時候需要調用addBean方法通過POJO定義反向得到一個模擬的Schema * SchemaLessMetaDataManager,綜合上面倆種情況 ```java public interface MetadataManager { boolean existTable(String tableName); TableDesc getTable(String name); Set<String> allTable(); public void addTableVirtuals(String realTable,String virtual); } ``` * existTable 用于檢測表是否存在 * getTable,返回TableDesc ,表的詳細描述,如主鍵,列,備注等 * allTable 返回所有表名 * addTableVirtuals, 建立一個真實不要和虛擬表的映射,因此當beetlsql 通過getTable,傳入虛擬表的時候,實際得到的是真實表的TableDesc,比如在分表場景下,有user_001,user_002,但表定義都是user表 對于NoSchemaMetaDataManager,還有如下方法 * addBean 傳入一個POJO,通過POJO的定義可以反向得到表定義 比如TD-Engine的JDBC目前不支持,因此DbStyle定義如下 ```java @Override public MetadataManager initMetadataManager(ConnectionSource cs){ metadataManager = new NoSchemaMetaDataManager(); return metadataManager; } ``` 然后在代碼里手工添加定義 ```java NoSchemaMetaDataManager metaDataManager = (NoSchemaMetaDataManager)sqlManager.getMetaDataManager(); metaDataManager.addBean(Data.class); //Data是一個POJO,描述了個表t,有字段ts和a @Table(name="t") @lombok.Data public class Data { @Column("ts") Timestamp ts; @Column("a") Integer a; } ```
                  <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>

                              哎呀哎呀视频在线观看