#MyBatis:selectKey标签 <selectKey> #keyProperty、keyColumn、order、resultType @FDDLC

如果把表的主键设为了自增长,在后面进行insert操作时,数据库自动帮我们生成了id。

比如:

insert into account (name, money) values (#{name}, #{money}) //假设name = "vip", money = "666"

执行完后,我们去看数据库,发现多了一条记录:

好,现在问题来了:看了数据库后我们知道自动生成的id是11,如果不看数据库,能不能知道这个id呢?

selectKey就能解决这个问题!

示例如下:


    
        select last_insert_id()
    
    insert into account (name, money) values (#{name}, #{money})

说明:

1、keyColumn:数据表中那个自增长的id!

2、keyProperty:数据表的字段和实体类的属性是对应的,自增长的那玩意儿在实体类中对应的属性就是keyProperty!

3、order:本标签内的语句(这里是 select last_insert_id() )是先执行还是后执行!

这里order="AFTER",什么意思呢?

意思是:select last_insert_id()后执行,insert into account (name, money) values (#{name}, #{money})先执行!

 

你可能感兴趣的:(MyBatis教程)