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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 動態模型 當系統自動生成表時候,又不想使用Map作為beetlsql參數來操作這些表,可以使用BeetSQL提供的擴展包,向操作POJO一樣操作這些動態表 ```xml <dependency> <groupId>com.ibeetl</groupId> <artifactId>sql-dynamic-table</artifactId> <version>${version}</version> </dependency> ``` 使用方式舉例如下,使用DynamicEntityLoader來獲取一個動態表對應的動態類 ```java SQLManager sqlManager = getSQLManager(); int max = 5; //創建5個表 for(int i=0;i<max;i++){ String dml="create table my_table"+i+"(id int NOT NULL" + ",name varchar(20)" + ",PRIMARY KEY (`id`)" + ") "; sqlManager.executeUpdate(new SQLReady(dml)); } // 配置加載類,使用默認的BassEntity,也可以使用任何類作為父類,比如MyOfficeEntity DynamicEntityLoader<BaseEntity> dynamicEntityLoader = new DynamicEntityLoader(sqlManager); for(int i=0;i<max;i++){ Class<? extends BaseEntity> c = dynamicEntityLoader.getDynamicEntity("my_table"+i); long count = sqlManager.allCount(c); System.out.println(count); } for(int i=0;i<max;i++){ Class<? extends BaseEntity> c = dynamicEntityLoader.getDynamicEntity("my_table"+i); BaseEntity obj = c.newInstance(); obj.setValue("id",1); obj.setValue("name","hello"); sqlManager.insert(obj); } ``` dynamicEntityLoader.getDynamicEntity方法本質上會根據表,生成一個臨時的POJO類(參考 beetlsql代碼生成),,返回的是baseEntity的一個子類(可以通過debug 看到這個子類,就是一個跟表對應的JavaBean) 使用此類操作的時候,beetlsql就當成一個普通的POJO類,如下代碼allCout將訪問my_table 表 ```java Class<? extends BaseEntity> c = dynamicEntityLoader.getDynamicEntity("my_table"); long count = sqlManager.allCount(c); ``` BaseEntity是擴展包內置的的類,所有生成的類都是BaseEntity的子類,比如my_table表 ``` @Table(name="mytable") public class MyTable exends BaseEntity{ @AssingId private Integer id; private String name; } ``` BaseEntity具有setValue和getValue方法,通過反射用于程序設置POJO屬性. ```java public class BaseEntity { public void setValue(String attrName,Object value){ MethodInvoker methodInvoker = ObjectUtil.getInvokder(this.getClass(),attrName); if(methodInvoker==null){ throw new IllegalArgumentException("不存在的屬性 "+attrName); } methodInvoker.set(this,value); } public Object getValue(String attrName){ MethodInvoker methodInvoker = ObjectUtil.getInvokder(this.getClass(),attrName); if(methodInvoker==null){ throw new IllegalArgumentException("不存在的屬性 "+attrName); } return methodInvoker.get(this); } } ``` dynamicEntityLoader.getDynamicEntity也可以使用其他父類作為生成的POJO的父親對象,比如 ```java Class<? extends MyOfficeEntity> c = dynamicEntityLoader.getDynamicEntity("my_table"+i,MyOfficeEntity.class); ``` 可以有如下定義,假設所有表都有id列 ```java public abstract MyOfficeEntity { public abstract Integer getId(); public abstract void setId(Integer id); public abstract String getName(); public abstract void setName(String name); } ```
                  <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>

                              哎呀哎呀视频在线观看