selectKey 这个标签主要用于Insert数据时不支持主键自动生成的问题
2017-12-06 14:26
369 查看
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- 如果使用xml的方式进行接口映射 namespace的值必须是接口的全路径 --> <mapper namespace="com.et.mybatis.selectKey.SqlKeyMapper"> <insert id="insertUser" parameterType="User"> <selectKey keyProperty="id" order="BEFORE" resultType="int"> <!-- selectKey 这个标签主要用于Insert数据时不支持主键自动生成的问题 如果在oracle中 应该写的SQL语句是 select 序列.nextval from dual 如果在mysql 中应该写的SQL语句是 select max(主键列)+1 from 对应表 ☆ ☆ ☆ SelectKey需要注意order属性。 MySQL一类支持自动增长类型的数据库中,order需要设置为after才会取到正确的值。 Oracle这样取序列的情况,需要设置为before,否则会报错。 --> select id.nextval from dual select max(id)+1 from arcticle </selectKey> insert into arcticle(id,title,content,userid) values(#{id},#{title},#{content},#{userid}) </insert> </mapper>
相关文章推荐
- 使用pl/sql快速获取表自增主键以外的所有列,用于重新自动生成一次数据主键
- 关于sqlserver的自动生成包含数据的insert脚本问题
- mybatis的selectKey用来给不支持自动生成主键的数据库用,什么意思?
- 显示数据(从数据库中得到)中的html标签 用于解决数据在前台显示,样式被数据破坏的问题!!css
- 浅谈用于生成performance测试数据的sql脚本的效率问题
- dom4j向xml文件写入数据自动生成xmlns=""属性的问题
- 自动生成Insert数据的SQL脚本
- PowerDesigner中表名过长,自动生成的主键名截取的问题
- <s:select>标签自动生成<tr><td>的问题~
- Hibernate保存数据自动生成主键出现奇怪异常Duplicate entry '0' for key 1
- mysql insert语句后如何获取insert数据的主键值自动编号
- 根据Sql表格数据自动生成InsertInto的SP(spRD_AutoGenInsertSql)
- word目录自动生成未定义标签问题解决
- 从Oracle数据库中读取数据,自动生成INSERT语句
- 解决 “VS2005 这个产品的配置数据已损坏。请与技术支持人员联系”不能部署的问题
- 用ibatis selectKey 返回自动生成的主键值
- IBatisNet 之 自动生成主关键字和Insert返回主键ID
- insert语句后如何获取insert数据的主键值自动编号
- 提供了根据表中的数据自动生成insert语句的数据库包,还提供了一些简单的工具
- php自定义方法:自动生成数据表格(支持分页)