程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了MyBatis,如何获取插入的自动生成的密钥?[MySQL]大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决MyBatis,如何获取插入的自动生成的密钥?[MySQL]?

开发过程中遇到MyBatis,如何获取插入的自动生成的密钥?[MySQL]的问题如何解决?下面主要结合日常开发的经验,给出你关于MyBatis,如何获取插入的自动生成的密钥?[MySQL]的解决方法建议,希望对你解决MyBatis,如何获取插入的自动生成的密钥?[MySQL]有所启发或帮助;

如果要获取生成的主键,则应通过@H_59_3@map或传递参数。POJO Object

public voID insertRecord(Map<String, Object> map);

调用映射方法时,将值映射。

@H_59_3@map<String, Object> map = new HashMap<String, Object>();
map.put("returnedID", 0);
map.put("message", messagE);
// other paramters
mapper.insertRecord(map);
return map.get("returnedID");

解决方法

如何使用MyBatis获取插入的生成密钥?我阅读了许多有关此问题的页面,但仍然被屏蔽,请问有人可以帮助我吗?这是我的代码:

桌子:

ID_ERROR long priMary key
date TIMESTAMP
TYPE varchar
messaGE varchar
sourcE varchar

道:

Long returnedId = 0L;
Mymapper mymapper = this.sqlSession.getMapper(Mymapper.class);
mymapper.insertRecord(returnedId,Utils.now(),t.getClass().getName(),t.getmessage(),c.getName());
return returnedId;
@H_736_2@mapper.java:

public void insertRecord(@Param("returnedId") Long returnedId,@Param("timestamp")timestamp timestamp,@Param("type") String type,@Param("message") String message,@Param("source") String sourcE);
@H_736_2@mapper.xml

 <insert id="insertRecord" parameterType="map" useGeneratedKeys="true"  keyProperty="ID_ERROR">
    INSERT INTO errors (
        DATE,TYPE,messaGE,sourcE
    )
    VALUES (
        #{timestamp},#{typE},#{messagE},#{sourcE}
    )
    <SELEctKey resultType="long" order="AFTER" keyProperty="returnedId">
        SELECT LAST_INSERT_ID() as returnedId
    </SELEctKey>
</insert>

怎么了?如何获得此插入的生成的密钥?谢谢!

大佬总结

以上是大佬教程为你收集整理的MyBatis,如何获取插入的自动生成的密钥?[MySQL]全部内容,希望文章能够帮你解决MyBatis,如何获取插入的自动生成的密钥?[MySQL]所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。