MyBatis自动生成的主键很多数据库支持自动生成主键的数据类型。不过这通常(并不总是)是个私有的特性。SQL Map 通过<insert>的子元素<selectKey>来支持自动生成的键值。它同时支持预生成(如Oracle)和后生成两种类 型(如 MS-SQL Server MySQL)。
一、Oracle设置
<insert id="saveUserInfo" parameterType="UserInfo"> <selectKey resultType="int" keyProperty="userId" order="BEFORE"> <![CDATA[SELECT SEQ_COMMON.NEXTVAL AS ID FROM DUAL]]> </selectKey> <![CDATA[insert into userinfo(userId,userName,phone,age,birthday,remark) values(#{userId},#{userName},#{phone},#{age},#{birthday},#{remark})]]> </insert>
注意:
1、MyBatis3已使用resultType ,resultClass是会报错的!
2、order="BEFORE" 上,这个必须要写明,生成序列在之前。在ibatis中使用type="pro" ,但在MyBatis3中必须使用order否则报错!
3、selectKey中的 keyProperty 要和 insert into中的 插入的参数 要一致 keyProperty="userId" 如: insert into userinfo (userId) VALUES (#{userId})
注意以上三点就OK了。
二、mysql设置
<insert id="saveUserInfo" parameterType="UserInfo" useGeneratedKeys="true" keyProperty="id"> insert into userinfo(userName,phone,age,birthday,remark) values(#{userName},#{phone},#{age},#{birthday},#{remark}) </insert>
mysql就简单了!
三、MS-SQL配置(本人没有测试过!)
<!-- Microsoft SQL Server IDENTITY Column 改进--> <insertid="insertProduct-MS-SQL"parameterClass="com.domain.Product"> <selectKeyresultClass="int"keyProperty="id"> <![CDATA[insert into PRODUCT (PRD_DESCRIPTION) values(#description#) SELECT SCOPE_IDENTITY() AS ID ]]> </selectKey> </insert>
相关推荐
MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布以来,MySQL以其卓越的性能、可靠性和可扩展性,成为全球范围内Web应用...
MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布以来,MySQL以其卓越的性能、可靠性和可扩展性,成为全球范围内Web应用...
MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布以来,MySQL以其卓越的性能、可靠性和可扩展性,成为全球范围内Web应用...
MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布以来,MySQL以其卓越的性能、可靠性和可扩展性,成为全球范围内Web应用...
MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布以来,MySQL以其卓越的性能、可靠性和可扩展性,成为全球范围内Web应用...
扩展 Mybatis-Generator,自动生成支持 Oracle、Mysql、Sqlserver 分页查询和批量插入操作的自动代码,支持从 Mapper 接口读取数据源名称;支持 Oracle 使用 SEQUENCE 实现自增主键:需要事先建立好表主键对应的...
MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布以来,MySQL以其卓越的性能、可靠性和可扩展性,成为全球范围内Web应用...
MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布以来,MySQL以其卓越的性能、可靠性和可扩展性,成为全球范围内Web应用...
包含Mybatis、Springboot、Shiro、MD5、Thymeleaf、...同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统
同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统 MySQL拥有庞大的开发者社区和丰富的第三方插件、库...
框架:Spring+SpringMVC+MyBatis+JSP 数据库和工具:MySql, Navicat 开发工具:idea 浏览器:Chrome 涉及到的技术:MySql、Spring、SpringMVC、MyBatis、layui、jquer… MySQL 是一款广受欢迎的开源关系型数据库...
MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布以来,MySQL以其卓越的性能、可靠性和可扩展性,成为全球范围内Web应用...
同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统 MySQL拥有庞大的开发者社区和丰富的第三方插件、库...
,分为前台博客系统和后台管理系统。...同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统
5、跨数据库函数方言替换,如:isnull/ifnull/nvl、substr/substring 等不同数据库。 sqltoy-orm特点: 1、最优雅直观的sql编写模式 2、天然防止sql注入,执行过程 3、最强大的分页查询 4、最巧妙的缓存应用,将多表...
支持任意实现JDBC规范的数据库,目前支持MySQL,Oracle,SQLServer,PostgreSQL以及任何遵循SQL92标准的数据库。 ShardingSphere-Proxy 定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于...
车辆紧急救援系统sqlserver数据库创建语句 车辆紧急救援系统spring+springMVC+hibernate框架对象(javaBean,pojo)设计 车辆紧急救援系统spring+springMVC+mybatis框架对象(javaBean,pojo)设计 车辆紧急救援系统登录...