欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Mybatis示例之SelectKey的应用

时间:2021-05-30 08:46:47|栏目:JAVA代码|点击:

SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。

不管SelectKey有多好,尽量不要遇到这种情况吧,毕竟很麻烦。

SelectKey需要注意order属性,像Mysql一类支持自动增长类型的数据库中,order需要设置为after才会取到正确的值。

像Oracle这样取序列的情况,需要设置为before,否则会报错。

下面是一个xml和注解的例子,SelectKey很简单,两个例子就够了:

<insert id="insert" parameterType="map">
  insert into table1 (name) values (#{name})
  <selectKey resultType="java.lang.Integer" keyProperty="id">
   CALL IDENTITY()
  </selectKey>
 </insert>

上面xml的传入参数是map,selectKey会将结果放到入参数map中。用POJO的情况一样,但是有一点需要注意的是,keyProperty对应的字段在POJO中必须有相应的setter方法,setter的参数类型还要一致,否则会报错。

  @Insert("insert into table2 (name) values(#{name})")
  @SelectKey(statement="call identity()", keyProperty="nameId", before=false, resultType=int.class)
  int insertTable2(Name name);

上面是注解的形式。

总结

上一篇:详解Java线程池和Executor原理的分析

栏    目:JAVA代码

下一篇:Hbase、elasticsearch整合中jar包冲突的问题解决

本文标题:Mybatis示例之SelectKey的应用

本文地址:http://www.codeinn.net/misctech/131990.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有