Mybatis 示例之 SelectKey
来源:互联网 发布:dota2 6.88狂战爷数据 编辑:程序博客网 时间:2024/06/05 17:49
SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。
不管SelectKey有多好,尽量不要遇到这种情况吧,毕竟很麻烦。
SelectKey需要注意order属性,像Mysql一类支持自动增长类型的数据库中,order需要设置为after才会取到正确的值。
像Oracle这样取序列的情况,需要设置为before,否则会报错。
另外在用Spring管理事务时,SelectKey和插入在同一事务当中,因而Mysql这样的情况由于数据未插入到数据库中,所以是得不到自动增长的Key。取消事务管理就不会有问题。
下面是一个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);上面是注解的形式。
22 0
- Mybatis 示例之 SelectKey
- Mybatis 示例之 SelectKey
- Mybatis 示例之 SelectKey
- Mybatis 示例之 SelectKey
- Mybatis 示例之 SelectKey
- Mybatis 示例之 SelectKey
- Mybatis 示例之 SelectKey
- Mybatis 示例之 SelectKey
- Mybatis 示例之 SelectKey
- Mybatis - SelectKey
- Mybatis之selectKey的运用改了一下
- MyBatis之主键自增——selectKey
- mybatis学习之路----insert主键返回 selectKey使用
- mybatis的selectKey功用
- MyBatis <selectKey>标签
- mybatis中的selectKey
- mybatis selectkey获取主键
- MyBatis中的selectKey
- Oracle的rollup、cube、grouping sets函数
- Windows Phone 8 中检测推送通知是否会因为节电模式而被禁用
- 如何让对话框中的控件随着对话框大小的改变而随之改变
- sdut oj 2619 地板砖(简单的状压)
- VC++常用快捷键
- Mybatis 示例之 SelectKey
- UIView,UIButton,UIImageView等设置圆角,设置阴影,设置边框的方法
- mount ubifs 挂载
- VS头文件 源文件切换
- Android 下载文件并调用相关插件打开
- 使用jqMobi开发app基础:使用 jQuery
- 谁在说谎
- rman连接AUXILIARY报错ORA-12528
- 【转】美剧字幕长讲述她如何练听力的