备注:此方法是数据库为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对象。那你就可以拿到了
提出来大家注意下,很多新手会迷糊,我自己就是 哈哈