`
tonyJ
  • 浏览: 142458 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

ibatis自动生成主键

 
阅读更多
   很多数据库支持自动生成主键的数据类型如(mysql)。不过这通常(并不总是)是个私有的特性。SQL Map通过<insert>的元素<selectKey>来支持自动生成的键值。它同时支持预生成(如Oracle)和后生成两种类型(如MS-SQL Server)。
Oracle生成自动主键的配置如下:
<insert id="insertProduct-Oracle" parameterClass="com.domain.Product">
		<selectKey resultClass="int" keyProperty="id">
			select stockidsequence.nextval as id 
			from dual
		</selectKey>
		insert into product(prd_id,prd_description)
		values(#id#,#description#)
	</insert>


MS-SQL Server生成主键的配置如下:
<insert id="insertProduct-MS-SQL" parameterClass="com.domain.Product">
		insert into product(prd_description) values(#description#)
		<selectKey resultClass="int" keyProperty="id">
			select @@identity as id
		</selectKey>
	</insert>
分享到:
评论

相关推荐

    ibatis框架实现的增删改查

    实现ibatis框架对student表的增删改查(包括模糊查询和用序列自动生成主键)

    iBatis SQL Maps开发指南.pdf

    自动生成的主键 存储过程 parameterClass parameterMap Inline Parameter简介 resultClass resultMap cacheModel xmlResultName Parameter Map 和 Inline Parameter 元素 Inline Parameter Map 基本类型输入参数 Map...

    Ibatis框架的核心知识点

    1 简单的sqlmap 2 SQl语句 3 自动生成的主键 4 存储过程 5 parameterMap与inline parameter 6 二元条件元素和一元条件元素 7 隐式的Result Map

    iBATIS 帮助文档

    自动生成的主键.............................................................................................................20 存储过程.....................................................................

    JAVA代码生成工具

    unique="是否唯一性约束" nullable="是否可以为空" pk="是否主键,在表没有主键的情况下,可以指定一个代理主键" updatable="是否可以更新" insertable="是否插入" enumString="枚举值,以分号分隔,示例值:M(1,...

    好用的代码生成源码

    示例如下: UserInfoBaseDao : 自动生成的代码, 不能手工修改,用于重复生成 UserInfoDao extends UserInfoBaseDao : 存放手工的代码,不能重复生成 页面的重复生成还没有啥好办法。 语法参考: ...

    springmybatis

    mybatis实战教程mybatis in action之九mybatis 代码生成工具的使用 mybatis SqlSessionDaoSupport的使用附代码下载 转自:http://www.yihaomen.com/article/java/302.htm (读者注:其实这个应该叫做很基础的入门...

    Spring中文帮助文档

    11.5.2. 使用SimpleJdbcInsert来获取自动生成的主键 11.5.3. 指定SimpleJdbcInsert所使用的字段 11.5.4. 使用SqlParameterSource提供参数值 11.5.5. 使用SimpleJdbcCall调用存储过程 11.5.6. 声明SimpleJdbcCall...

    Spring API

    11.5.2. 使用SimpleJdbcInsert来获取自动生成的主键 11.5.3. 指定SimpleJdbcInsert所使用的字段 11.5.4. 使用SqlParameterSource提供参数值 11.5.5. 使用SimpleJdbcCall调用存储过程 11.5.6. 声明SimpleJdbcCall...

    AppFramework_V1.0

    iBatis2.0 &lt;br&gt;(毫秒) AppFramework &lt;br&gt;(毫秒) 后者前者性能对比 &lt;br&gt;(倍) 根据主键获取实体 &lt;br&gt;(20次单条select) 6.1 5.3 &lt;br&gt;QueryFilter: 5.75 1.15 &lt;br&gt;...

    AppFramework数据库访问组件_代码生成插件_V1.1.rar

    720 1.59 &lt;br&gt;1.53 &lt;br&gt; &lt;br&gt; 表II –50并发4循环(数据库和测试机分开) &lt;br&gt;对比项目 iBatis2.0 &lt;br&gt;(毫秒) AppFramework &lt;br&gt;(毫秒) 后者前者性能对比 &lt;br&gt;(倍) ...

    AppFramework_V1.0_New

    720 1.59 &lt;br&gt;1.53 &lt;br&gt; &lt;br&gt; 表II –50并发4循环(数据库和测试机分开) &lt;br&gt;对比项目 iBatis2.0 &lt;br&gt;(毫秒) AppFramework &lt;br&gt;(毫秒) 后者前者性能对比 &lt;br&gt;(倍) ...

    阿里巴巴编码规范 基础技能认证 考题分析(考题+答案).docx

    B .iBATIS自带的queryForList(String statementName,int start,int size)分页接口有性能隐患,不允许使用。 C .定义明确的sql查询语句,通过传入参数start和size来实现分页逻辑。 D .可使用存储过程写分页逻辑...

Global site tag (gtag.js) - Google Analytics