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. mysql - JAVA怎么實現一個DAO同時實現查詢兩個實體類的結果集2. sql語句 - 如何在mysql中批量添加用戶?3. mysql建表報錯,查手冊看不懂,求解?4. PHP類屬性聲明?5. 求大神支招,php怎么操作在一個html文件的<head>標記內添加內容?6. 怎么php怎么通過數組顯示sql查詢結果呢,查詢結果有多條,如圖。7. 致命錯誤: Class ’appfacadeTest’ not found8. 老師們php,插入數據庫mysql,都是空的,要怎么解決9. mysql - 數據庫建字段,默認值空和empty string有什么區別 11010. phpstady在win10上運行
