mybitas 执行insert 语句后获取当前插入行的主键!

来源:互联网 发布:大数据挑战nosql 微盘 编辑:程序博客网 时间:2024/05/18 19:20

备注:此方法是数据库为mysql 其他的请另行查阅

这个功能还是很有用的

mybitas 执行insert 语句后获取当前插入行的主键!

bean-java文件里面

    class User{       private Integer userId;       private String userName;      }  


mapping-xml文件里面:

<insert id="insert"  parameterType="xxx.User"  useGeneratedKeys="true" keyProperty="userId" > 



useGeneratedKeys 方法就是执行这个功能,

但是默认为flase 改为ture。 列外keyProperty指的是字段名,数据库里面为主键的那个字段名。我这里是因为两个名字一样的,所以不好辨认


service-java 文件里面 

-----------

  insert(User user); String userId = user.get(userId),


即mapper层执行完插入语句之后,执行get方法,就可以获得。


思考了下原理,应该是mybitas框架的原因,它的resultMap 以及他自己生成的那些方法,当一条数据按照user类型插入进去,而你 设置了seGeneratedKeys="true" 那么那到刚插入数据的主键对他来说轻而易举,接着它自己就会把得到的id值,对比resultMap里面塞给那个user对象。那你就可以拿到了 

提出来大家注意下,很多新手会迷糊,我自己就是 哈哈

0 0
原创粉丝点击