第一种方法 insert into user(userName,passWord) values(#{userName},#{password}) 注意事项: useGeneratedKeys="true" 表示给主键设
第一种方法
insert into user(userName,passWord) values(#{userName},#{password})
注意事项:
useGeneratedKeys="true" 表示给主键设置自增长,keyProperty="userId" 表示将自增长后的Id赋值给实体类中的userId字段。
parameterType="com.icc.domain.User" 这个属性指向传递的参数实体类
这里提醒下,
实体类中uerId 要有getter() and setter(); 方法
SELECT LAST_INSERT_ID() INSERT INTO t_product(productName,productDesrcible,merchantId)values(#{productName},#{productDesrcible},#{merchantId});
注意事项:
order="AFTER" 表示先执行插入语句,之后再执行查询语句。
可被设置为 BEFORE 或 AFTER。
如果设置为 BEFORE,那么它会首先选择主键,设置 keyProperty 它会在插入语句前执行。
如果设置为 AFTER,那么插入语句执行后执行。
keyProperty="userId" 表示将自增长后的Id赋值给实体类中的userId字段。
SELECT LAST_INSERT_ID() 表示Mysql语法中查询出刚刚插入的记录自增长Id.
实体类中uerId 要有getter() and setter(); 方法
取出方式
mybatis 执行完插入语句后,自动将自增长值赋值给对象 ProductBean 的属性id。因此,可通过 systemBean 对应的 getter 方法获取!
int count = systemService.insert(productBean); int id = productBean.getproductId(); //获取到的即为新插入记录的ID
如果是使用如下序列.nextval来设置id则可以直接通过实体类的get方法获取
select seq_sys_dept.nextval as deptId from DUAL insert into sys_dept( dept_id, dept_name, leader )values( #{deptId}, #{deptName}, #{leader} )
deptMapper.insertDept(dept); System.out.println("==============================="+dept.getDeptId());
来源地址:https://blog.csdn.net/weixin_55823910/article/details/129532516
--结束END--
本文标题: 使用mybatis新增一条数据返回新增数据的id
本文链接: https://www.lsjlt.com/news/412853.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-03
2024-04-03
2024-04-01
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0