有时候用insert插入数据库后,继续使用实体类,显示id为null

对于自增id的实体类,
有时候用insert插入之后,再次调用此实体类显示id为null,
解决办法:
在mapper.xml文件中
insert方法里输入
useGeneratedKeys=“true” keyProperty=“id”
如图所示
在这里插入图片描述
现在在调用实体类,id就是数据库自增之后的值了
一般用逆向工程生成的xml文件没有这种问题,因为会自动生成这个语句,不知道为什么我这个文件为什么没有,不管如何,解决了就好。

找到原因了,在我用逆向工程生成文件的时候,没有输入
< generatedKey column=“id” sqlStatement=“JDBC” identity=“true”/ >
输入这个语句之后,逆向工程生成的语句就会自动生成useGeneratedKeys=“true” keyProperty=“id” 了
还有在逆向工程工具类中配置的时候
< columnOverride column=“is_release” jdbcType=“TINYINT” javaType=“java.lang.Boolean”/ >
< columnOverride column=“subject_groups” jdbcType=“VARCHAR” javaType=“java.lang.String”/ >
输入这些文件,可以控制字段的属性

猜你喜欢

转载自blog.csdn.net/qq_44866462/article/details/89026167