<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之旅 廣告
                ![](https://cdn.zimug.com/wx-zimug.png) * [小書MybatisPlus第1篇-整合SpringBoot快速開始增刪改查](http://www.zimug.com/other/springboot/%e5%b0%8f%e4%b9%a6mybatisplus%e7%ac%ac1%e7%af%87-%e6%95%b4%e5%90%88springboot%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b%e5%a2%9e%e5%88%a0%e6%94%b9%e6%9f%a5/.html) * [小書MybatisPlus第2篇-條件構造器的應用及總結](http://www.zimug.com/other/springboot/%e5%b0%8f%e4%b9%a6mybatisplus%e7%ac%ac2%e7%af%87-%e6%9d%a1%e4%bb%b6%e6%9e%84%e9%80%a0%e5%99%a8%e7%9a%84%e5%ba%94%e7%94%a8%e5%8f%8a%e6%80%bb%e7%bb%93/.html) * [小書MybatisPlus第3篇-自定義SQL](http://www.zimug.com/other/java/%e5%b0%8f%e4%b9%a6mybatisplus%e7%ac%ac3%e7%af%87-%e8%87%aa%e5%ae%9a%e4%b9%89sql/.html) * [小書MybatisPlus第4篇-表格分頁與下拉分頁查詢](http://www.zimug.com/other/springboot/%e5%b0%8f%e4%b9%a6mybatisplus%e7%ac%ac3%e7%af%87-%e8%a1%a8%e6%a0%bc%e5%88%86%e9%a1%b5%e4%b8%8e%e4%b8%8b%e6%8b%89%e5%88%86%e9%a1%b5%e6%9f%a5%e8%af%a2/.html) Active Record 適合非常簡單的領域需求,尤其在領域模型和數據庫模型十分相似的情況下。如果遇到更加復雜的領域模型結構(例如用到繼承、策略的領域模型),往往需要使用分離數據源的領域模型,結合 Data Mapper (數據映射器)使用。 具體到使用層面,我們之前章節講過使用Data Mapper 做數據的持久層操作。 ~~~ User user = new User(); user.setName("字母哥"); user.setAge(18); userMapper.insert(user); //Mybatis Mapper模式 ~~~ 現在我們使用ActiveRecord模式,用法如下,注意二者的區別 ~~~ User user = new User(); user.setName("zimug"); user.setAge(18); user.insert(); //ActiveRecord模式 ~~~ ## 一、使ActiveRecord模式生效 首先:需要讓數據庫表對應的數據持久層實體類。集成自Model<User>,并實現序列化接口。 ~~~ @Data //lombok注解 @EqualsAndHashCode(callSuper = true) public class User extends Model<User> implements Serializable { private static final long serialVersionUID = 6401942840459021558L; private Long id; private String name; private Integer age; private String email; } ~~~ 其實定義一個Mapper繼承自`BaseMapper<T>`,T代表數據持久層實體類。 ~~~ public interface UserMapper extends BaseMapper<User> { } ~~~ 這樣Mybatis Plus的ActiveRecord模式就生效了,默認的幫我們實現了如下的一些數據持久層方法。 ![](https://img.kancloud.cn/00/57/00573d67670bc188fbe77caadfa5aef6_1006x496.png) ## 二、增刪該查的實現 增加:向持久層實體類User對應的數據庫表user,插入一條數據。 ~~~ @Test public void testInsert() { User user = new User(); user.setName("zimug"); user.setAge(18); user.setEmail("hadoopcn2@163.com"); boolean success = user.insert(); System.out.println("是否插入成功:"+success); } ~~~ 查詢:從數據庫表user查詢所有數據 ~~~ @Test public void testSelect() { User user = new User(); List<User> users = user.selectAll(); users.forEach(System.out::println); } ~~~ 添加或更新: * 未設置ID,被視為insert操作,向數據庫插入數據 * 如果設置ID,則先查詢是否有此id的記錄,如果有此id記錄,則視為update,如果沒有則視為insert ~~~ @Test public void testUpdate() { User user = new User(); user.setId(1283915378849751041L); user.setAge(25); boolean success = user.insertOrUpdate(); System.out.println("是否添加或更新成功(更新):"+success); } ~~~ 根據id在數據庫表user中刪除一條記錄 ~~~ @Test public void testDelete() { User user = new User(); user.setId(1283915378849751041L); boolean success = user.deleteById(); System.out.println("是否刪除成功:"+success); } ~~~
                  <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>

                              哎呀哎呀视频在线观看