java - mybatis如何實作取得新增得id
天蓬老师
天蓬老师 2017-06-30 09:53:48
0
6
997

insert into customer (certType,code,password,name,mobile,effDate,expDate,address,createID,createTime,updateID,updateTime) values (#{certType},#{code}, #{password}, #{name}, #{mobile}, #{effDate},#{expDate},#{address},#{createID},#{createTime} ,#{updateID},#{updateTime}) 

dao層
public int saveCustomer(CustomerEntity cs);
這個方法回傳得一直是1。物件.id得值 一直是空。資料庫是mysql
CustomerEntity applyRecord = new CustomerEntity();

applyRecord.setCertType("0"); applyRecord.setCode("423565462256"); applyRecord.setPassword("123456"); applyRecord.setName("sds"); applyRecord.setMobile("12345678978"); applyRecord.setCreateID("150"); applyRecord.setUpdateID("150"); applyRecord.setUpdateTime(new Date()); int i = dao.saveCustomer(cs); System.out.println("i========="+i+" id================"+applyRecord.getCarOwnerID());
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆 (6)
伊谢尔伦

@浮生百記 在其基礎上加上useGeneratedKeys="true"

    学霸

    這個方法回傳的實際上是影響的記錄數。
    你insert之後直接去拿實體類別的id即可。

    ApplyRecord applyRecord = new ApplyRecord(); applyRecord.setAccount("1234"); applyRecord.setCode("123"); Timestamp now = new Timestamp(System.currentTimeMillis()); applyRecord.setGmtCreate(now); applyRecord.setGmtModified(now); int i = applyRecordDao.insert(applyRecord); logger.info("{}",applyRecord.getId());
      淡淡烟草味

      實體類別可以看下麼

        仅有的幸福

        useGeneratedKeys="true" keyProperty="id" xml配置中keyProperty為主鍵你看你的資料數是不是設id為主鍵並設定期為自增,如果設定執行完insert後,主鍵的值就會反射到你實體類別的主鍵中

          扔个三星炸死你



          加入一個屬性就行了useGeneratedKeys="true"

            为情所困

            1.資料庫id必須是auto_increment
            2.配置useGeneratedKeys="true"以及keyProoerty
            3.你呼叫mapper介面的方法得到的數值,也就是總拿到的1是影響的記錄數,要想拿到對象的id,請點選對應的getter方法

              最新下載
              更多>
              網站特效
              網站源碼
              網站素材
              前端模板
              關於我們 免責聲明 Sitemap
              PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!