recherche

Maison  >  Questions et réponses  >  le corps du texte

java - Comment obtenir l'identifiant nouvellement ajouté dans Mybatis

<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());
天蓬老师天蓬老师2728 Il y a quelques jours1149

répondre à tous(6)je répondrai

  • 伊谢尔伦

    伊谢尔伦2017-06-30 09:55:48

    @福生百记 Ajoutez useGeneratedKeys="true"

    sur cette base

    répondre
    0
  • 欧阳克

    欧阳克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());

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-30 09:55:48

    Pouvons-nous jeter un œil à la classe d'entité ?

    répondre
    0
  • 仅有的幸福

    仅有的幸福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é

    répondre
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-30 09:55:48

    <insert id="save" ParameterType="atyy.model.ArticleCategoryPO" useGeneratedKeys="true">
    </insert>
    Ajoutez simplement un attribut useGeneratedKeys="true"

    répondre
    0
  • 为情所困

    为情所困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

    répondre
    0
  • Annulerrépondre