这种方式比较简单,直接在实体类主键加上注解 @Id 和 **@GeneratedValue(strategy = GenerationType.IDENTITY) **即可,但是在项目中不建议继承这两个类,不过话说回来,在微服务中,单标操作,使用这个 api 比较快捷,实体配置如下
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
这种方式一般有两种:
<insert id="insertOne" parameterType="com.dao.model.User" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
INSERT INTO user(name,age) VALUES(#{name},#{age})
</insert>
<insert id="insertOne" parameterType="com.dao.model.User" >
<selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO user(name,age) VALUES(#{name},#{age})
</insert>
useGeneratedKeys(是否是自增长,必须设置 true) 和 keyProperty(实体类主键属性名称) 、keyColumn(数据库主键字段名称)
@Insert("INSERT INTO user(name,age) VALUES(#{user.name},#{user.age})")
@Options(useGeneratedKeys=true, keyProperty="user.id",keyColumn="id" )
public int insertOne(@Param("user")User user);
提醒小伙伴们,若在映射的 mapper 里面参数取了别名,所有的实体类的属性都要加上别名.属性名,比如注解方式的案例。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_43842093/article/details/121432514
内容来源于网络,如有侵权,请联系作者删除!