<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國際加速解決方案。 廣告
                ## BeanConvert 可以為POJO定義一個注解,在sql準備參數前,調用此API,得到一個新Bean,用于參數設定。BeanConvert定義如下 ```java @Plugin public interface BeanConvert { /** * 返回入庫之前的對象 * @param ctx * @param obj * @param an 注解信息,可以提供額外參數 * @return */ default Object before(ExecuteContext ctx, Object obj, Annotation an){ return obj; } /** * 返回查詢結果后的對象 * @param ctx * @param obj * @param an * @return */ default Object after(ExecuteContext ctx, Object obj, Annotation an){ return obj; } } ``` 比如以AttributeConvert的例子作為說明,可以定義如下BeanEncrypt, 其執行類BeanStringConvert, 注解有個attr方法,標識需要加密的字段 ```java @Retention(RetentionPolicy.RUNTIME) @Target(value = {ElementType.TYPE}) @Builder(BeanStringConvert.class) public @interface BeanEncrypt { String attr(); } ``` BeanStringConvert的實現如下(僅僅簡單修改了需要加密的字段,添加一個時間戳) ```java public class BeanStringConvert implements BeanConvert{ public Object before(ExecuteContext ctx, Object obj, Annotation an){ BeanEncrypt beanEncrypt = (BeanEncrypt)an; String attrName = beanEncrypt.attr(); String attrValue = (String)BeanKit.getBeanProperty(obj,attrName); String encryptAttrValue = attrValue+"-"+System.currentTimeMillis(); BeanKit.setBeanProperty(obj,encryptAttrValue,attrName); return obj; } public Object after(ExecuteContext ctx, Object obj, Annotation an){ BeanEncrypt beanEncrypt = (BeanEncrypt)an; String attrName = beanEncrypt.attr(); String encryptAttrValue = (String)BeanKit.getBeanProperty(obj,attrName); String attrValue = encryptAttrValue.split("-")[0]; BeanKit.setBeanProperty(obj,attrValue,attrName); return obj; } } ``` ```java @Table(name="sys_user") @Data @BeanEncrypt( attr="name") public static class UserEntity2{ @Auto Long id ; 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>

                              哎呀哎呀视频在线观看