在使用mybatis时,常常会出现这种需求:

当主键id是自增的情况下,添加一条记录的同时,我们要获取到主键id。

这时我们只需要在其对应xxxmapper.xml中加入以下属性即可:useGeneratedKeys=”true” keyProperty=”id”。

...........

useGeneratedKeys =true:这个表示插入数据之后返回一个自增的主键id给你对应实体类中的某个属性。必须设置为true,默认为false。

keyProperty:设置为POJO对象的主键id属性名称。

keyColumn:设置为数据库记录的主键id字段名称。

说明:

1.如果我们已经在数据库表中指定了主键,那么keyColumn属性可以缺省。

这里我们数据库有主键,因此上列我们可以直接写为:

...........

2.新添加主键id并不是在执行添加操作时直接返回的,而是在执行添加操作之后将新添加记录的主键id字段设置为POJO对象的主键id属性。

如果在使用过程中遇到异常:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException:

请看:https://www.jianshu.com/p/f03e950da722

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐