java - mybatis如何實現獲取新增得id
問題描述
<insert parameterType='com.xiaonatech.dsx.entity.CustomerEntity' useGeneratedKeys='true' keyProperty='policyID'>
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})</insert>
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());
問題解答
回答1:@浮生百記 在其基礎上加上useGeneratedKeys='true'
回答2:這個方法返回的實際是影響的記錄數。你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());回答3:
實體類可以看下么
回答4:useGeneratedKeys='true' keyProperty='id' xml配置中keyProperty為主鍵 你看你的數據數是不是設id為主鍵并設置期為自增,如果設置執行完insert后,主鍵的值就會反射到你實體類的主鍵中
回答5:<insert parameterType='atyy.model.ArticleCategoryPO' useGeneratedKeys='true'></insert>加入一個屬性就行了useGeneratedKeys='true'
回答6:1.數據庫id必須是auto_increment2.配置useGeneratedKeys='true'以及keyProoerty3.你調用mapper接口的方法得到的數值,也就是總拿到的1是影響的記錄數,要想拿到對象的id,請點用對應的getter方法
相關文章:
1. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. java - instance method中 static后的<K>是什么意思?3. javascript - QWebEngineView 如何爬 angular 的動態數據?4. java - com.android.internal.R.attr.dialogTheme 這個dialogTheme的內容再哪里查看?5. java - 一段遞歸代碼的問題6. python3.x - python連oanda的模擬交易api獲取json問題第五問7. css3 - 圖片等比例縮放8. java - 關于File的問題?9. html5 - 這個代碼顯示功能如何實現?10. 錯誤:java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。<init>(I)V
