mybatis注解方式返回insert的id

以前用xml配置的方式久了,突然有一天公司有个项目用的是注解方式,网上找了很多无法满足我需求,于是....还是少废话,上代码吧

controller

      /**
     * 插入并返回刚插入的记录的id例子,实际使用中下面的方法void可以改为返回i和object.getId,以便客户端判断是否插入成功并且返回新对象的id
     */
    @PostMapping("/insertObject")
    public String insertObject() {
        WhitsInformation whitsInformation = new WhitsInformation();
        whitsInformation.setComName("testname");
        whitsInformation.setAddress("testaddress");
        int i = demoService.insertObject(whitsInformation);//i表示insert一条记录成功
        System.out.println(i);
        System.out.println("whitsInformation2.getId()=="+whitsInformation.getId());
        return "newUUID="+whitsInformation.getId();
    }

service省略吧,你懂的......

mapper如下,具体不解释 

	@Insert("INSERT INTO yytest(id,comName,address) VALUES(#{wi.id},#{wi.comName},#{wi.address})")
	@SelectKey(statement="select replace(UUID(),'-','') as id", keyProperty="wi.id", before=true, statementType=StatementType.STATEMENT,resultType=String.class)  
	public int insertObject(@Param("wi") WhitsInformation whitsInformation);

具体可以根据需要返回自己想要的,我是返回UUID


  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis是一种使用简单的XML或注解来配置和映射数据库的ORM(对象关系映射)工具。它可以将接口和Java的POJO(普通的Java对象)映射到数据库中的记录。根据引用,MyBatis的基本思想是将SQL语句与Java代码分离,通过XML或注解来配置SQL映射关系。 对于MyBatis注解添加时返回id的问题,具体取决于你使用的注解类型。在MyBatis中,常用的注解类型有@Insert、@Update、@Delete等。这些注解通常用于执行数据库操作,并返回受影响的行数而不是返回id。如果你想要返回id,可以使用@SelectKey注解。 @SelectKey注解可以在插入语句执行之前或之后获取生成的id,并将其赋值给指定的属性。你可以在插入语句中使用该注解,指定获取id方式和赋值给哪个属性。常用的获取id方式有通过SELECT LAST_INSERT_ID()或通过序列(sequence)。 因此,如果你想要在MyBatis注解添加时返回id,你可以使用@SelectKey注解来实现。具体的用法可以参考MyBatis的官方文档或其他相关资源。<span class="em">1</span> #### 引用[.reference_title] - *1* [springmybatis](https://download.csdn.net/download/u012807534/9079111)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值