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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## @SqlProvider 類似@Sql一樣,@SqlProvider指定了提供sql語句的類,BeetlSQL會調用同名方法獲取sql語句和參數 ```java @SqlProvider(provider= SelectUserProvider.class) List<UserEntity> queryUserByCondition(String name); ``` SelectUserProvider定義如下 ```java public static class SelectUserProvider{ /*與mapper方法同名,同參數*/ public SQLReady queryUserByCondition(String name){ SQLReady ready = null; if(name==null){ String sql = "select * from sys_user where 1=1"; ready = new SQLReady(sql); }else{ String sql = "select * from sys_user where name=?"; ready = new SQLReady(sql,name); } return ready; } } ``` BeetlSQL將會調用SelectUserProvider實例的同名同參數方法,獲得SQLReady,執行查詢。BeetlSQL底層代碼類似如下代碼 ```java SelectUserProvider provider = BeanKit.newSingleInstance(SelectUserProvider.class); SQLReady ready = provider.queryUserByCondition(name); List<UserEntity> list = sqlManager.execute(ready,UserEntity.class) ``` @SqlProvider 注解有利于提供復雜的SQL,或者在原有@Sql不滿足的情況,在不改變mapper方法情況下,使用@SqlProvider 提供新的SQL `@SqlProvider`的實現類是`ProviderMapperExtBuilder` ## @SqlTemplateProvider SqlTemplateProvider類似@SqlProvider,不同的是要求返回一個模板SQL語句 ```java @SqlTemplateProvider(provider= SelectUserProvider.class) List<UserEntity> queryUserByTemplateCondition(String name); ``` SelectUserProvider的queryUserByTemplateCondition定義如下 ```java public class SelectUserProvider{ /*與mapper方法同名,同參數*/ public String queryUserByTemplateCondition(String name){ String sql = "select * from sys_user where 1=1"; if(name==null){ return sql; }else{ return sql+" and name=#{name}"; } } } ``` BeetlSQL底層代碼類似如下 ```java SelectUserProvider provider = BeanKit.newSingleInstance(SelectUserProvider.class); String sqlTemplate = provider.queryUserByTemplateCondition(name); Map map = new HashMap(); map.put("name",name); List<UserEntity> list = sqlManager.execute(sqlTemplate,UserEntity.class,map); ``` 注解`@SqlTemplateProvider`的實現類是`ProviderMapperExtBuilder`
                  <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>

                              哎呀哎呀视频在线观看