当前位置:   article > 正文

selectKey标签详解_update selectkey

update selectkey

1.为什么要使用selectKey

数据库主键包括自增和非自增,有时候新增一条数据不仅仅知道成功就行了,后边的逻辑可能还需要这个新增的主键,这时候再查询数据库就有点耗时耗力,我们可以采用selectKey来帮助我们获取新增的主键

2.具体实现demo

查询数据库最简单的几步 

2.1 controller

  1. @Controller
  2. public class SelectKeyController {
  3. @Autowired
  4. SelectKeyServiceImpl selectKeyService;
  5. public Integer String(){
  6. Goods goods = new Goods();
  7. goods.setAmount("100");
  8. goods.setGname("红烧肉");
  9. goods.setMid("666666");
  10. goods.setPrice("25");
  11. int insert = selectKeyService.insert(goods);
  12. System.out.println("执行成功条数: " + insert);
  13. System.out.println(goods.getId());
  14. return goods.getId();
  15. }
  16. }

2.2 service

  1. @Service
  2. public class SelectKeyServiceImpl implements SelectKeyService {
  3. @Autowired
  4. SelectKeyMapper selectKeyMapper;
  5. @Override
  6. public int insert(Goods goods) {
  7. int insert = selectKeyMapper.insert(goods);
  8. return insert;
  9. }
  10. }

2.3 mapper

  1. public interface SelectKeyMapper {
  2. int insert(Goods goods);
  3. }

2.4 实体类(根据自己数据库表来写)

  1. @Data
  2. public class Goods {
  3. //自增主键
  4. private Integer id;
  5. private String mid;
  6. private String gname;
  7. private String price;
  8. private String amount;
  9. private String imageName;
  10. }

3.mapper.xml 文件

  1. <mapper namespace="com.example.wjtweb.mapper.SelectKeyMapper">
  2. <insert id="insert" parameterType="com.example.wjtweb.pojo.Goods">
  3. <selectKey keyProperty="id" order="AFTER" resultType="Integer">
  4. SELECT LAST_INSERT_ID()
  5. </selectKey>
  6. INSERT INTO Goods (MID,GNAME,PRICE,AMOUNT,imageName)
  7. VALUES (#{mid},#{gname},#{price},#{amount},#{imageName});
  8. </insert>
  9. </mapper>

selectKey 会将 SELECT LASTINSERTID()的结果放入到传入的model的主键里面,keyProperty 对应的model中的主键的属性名,这里是 Goods 中的id,因为它跟数据库的主键对应order AFTER 表示 SELECT LASTINSERTID() 在insert执行之后执行,多用与自增主键,BEFORE表示SELECT LASTINSERTID() 在insert执行之前执行,这样的话就拿不到主键了,这种适合那种主键不是自增的类型resultType 主键类型 

4.输出结果

查询数据库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/241426
推荐阅读
相关标签
  

闽ICP备14008679号