Maison > Questions et réponses > le corps du texte
<insert id="saveCustomer" 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 layer
public int saveCustomer(CustomerEntity cs);
Cette méthode renvoie toujours 1. La valeur de object.id est toujours vide. La base de données est 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());
欧阳克2017-06-30 09:55:48
Ce que cette méthode renvoie est en fait le nombre d'enregistrements concernés.
Vous pouvez obtenir directement l'ID de la classe d'entité après l'insertion.
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());
仅有的幸福2017-06-30 09:55:48
useGeneratedKeys="true" keyProperty="id" Dans la configuration XML, keyProperty est la clé primaire. Vérifiez si votre numéro de données est défini sur id comme clé primaire et le point à incrémenter automatiquement, s'il est défini. insert est exécuté, la valeur de la clé primaire sera reflétée dans la clé primaire de votre classe d'entité
扔个三星炸死你2017-06-30 09:55:48
<insert id="save" ParameterType="atyy.model.ArticleCategoryPO" useGeneratedKeys="true">
</insert>
Ajoutez simplement un attribut useGeneratedKeys="true"
为情所困2017-06-30 09:55:48
1. L'identifiant de la base de données doit être auto_increment
2. Configurez useGeneratedKeys="true" et keyProoerty
3 La valeur que vous obtenez en appelant la méthode d'interface du mappeur, c'est-à-dire que le total 1 que vous obtenez est le nombre d'enregistrements affectés. vous souhaitez obtenir l'identifiant de l'objet, veuillez cliquer et utiliser la méthode getter correspondante