<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國際加速解決方案。 廣告
                ## 一、填充字段處理 需求案例:在插入數據的時候自動填充createTime和updateTime為當前插入數據的時間,在數據更新的時候修改updateTime為修改數據的時間。不需要人為的手動賦值。 * 在數據庫表層面需要先添加2個日期類型的字段create\_tme和update\_time ![](https://img.kancloud.cn/c6/fe/c6fe35e8544d4cfc03cc2b2ddd884359_582x186.png) * 使用@TableField注解標記實體類中的哪些字段需要填充: ~~~ @Data public class User { private Long id; private String name; private Integer age; private String email; @TableField(fill = FieldFill.INSERT) private Date createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime; } ~~~ FieldFill是一個枚舉,用于指定在何種情況下會自動填充,有如下幾種可選值: * DEFAULT:默認不處理 * INSERT:插入時自動填充字段 * UPDATE:更新時自動填充字段 * INSERT\_UPDATE:插入和更新時自動填充字段 ## 二、自定義填充默認數值 編寫公共字段填充處理器類,該類繼承了MetaObjectHandler類,重寫?insertFill和updateFill方法,我們在這兩個方法中獲取需要填充的字段以及默認填充的值。 > * 填充處理器MyMetaObjectHandler在Spring Boot中需要聲明@Component或@Bean注入 > * strictInsertFill和strictUpdateFill方法第二個參數寫的是實體類里的屬性名,不是對應數據庫字段名。 ~~~ @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.strictInsertFill(metaObject, "createTime", Date.class, new Date()); this.strictInsertFill(metaObject, "updateTime", Date.class, new Date()); } @Override public void updateFill(MetaObject metaObject) { this.strictUpdateFill(metaObject, "updateTime", Date.class, new Date()); } } ~~~ 如果是3.3.0后面的版本,比如3.3.1.8,也可以改用下面更簡單的寫法(3.3.0不要用該方法,有bug) ~~~ @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.fillStrategy(metaObject, "createTime", new Date()); this.fillStrategy(metaObject, "updateTime", new Date()); } @Override public void updateFill(MetaObject metaObject) { this.fillStrategy(metaObject, "updateTime", new Date()); } } ~~~ 在一些比較舊的版本,為填充字段設置值的API如下,3.3.0之后已經不建議使用 ~~~ this.setFieldValByName("createTime",new Date(),metaObject); this.setFieldValByName("updateTime",new Date(),metaObject); ~~~ ## 三、開始測試 * 插入一條數據,注意我們沒有為createTime和updateTime賦值 ~~~ @Test public void testInsert() { User user = new User(); user.setName("字母哥"); user.setAge(18); userMapper.insert(user); } ~~~ 但是運行的結果是:createTime和updateTime被自動賦值 ![](https://img.kancloud.cn/fb/52/fb52690f32681d37e673852757ef2cdb_1616x104.png) * 根據Id更新一條數據,注意我們沒有為updateTime賦值 ~~~ @Test public void testUpdate() { User user = new User(); user.setId(1287387821681790977L); user.setName("字母哥&curry"); user.setAge(18); userMapper.updateById(user); } ~~~ 但是運行的結果是:updateTime在執行數據記錄修改操作時被自動賦值 ![](https://img.kancloud.cn/e5/62/e562dacb7d35bfdfdae99d5d0ed262e0_1450x102.png)
                  <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>

                              哎呀哎呀视频在线观看