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為主鍵并設置期為自增,如果設置執(zhí)行完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. webpack - vuejs+java前后臺分離實現及部署問題2. css3 - jquery div 翻轉?3. docker安裝后出現Cannot connect to the Docker daemon.4. docker容器呢SSH為什么連不通呢?5. docker鏡像push報錯6. docker start -a dockername 老是卡住,什么情況?7. python - 有什么好的可以收集貨幣基金的資源?8. docker網絡端口映射,沒有方便點的操作方法么?9. node.js - nodejs debug問題10. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題
