//sqlmap
<insert id="insertTask" parameterClass="task">
<selectKey resultClass="java.lang.String" keyProperty="mainid">
select NEWID() as mainid
</selectKey>
INSERT INTO
Course_Task
(MainID,Task_CourseID,Task_Content,Task_TurnedDate,Task_CreateDate,
Task_isRead,Task_RealName,Task_saveurl,Task_filetype,Task_filesize,Task_uploaduserid,Course_ContentID)
VALUES
(#mainid#,#courseID#,#content#,#turnedDate#,getDate(),
#isRead#,#realName#,#saveurl#,#filetype#,#filesize#,#uploaduserid#,#coursecontentID#)
</insert>
//dao
public Object save(Object obj) {
// TODO Auto-generated method stub
return (String)this.getSqlMapClientTemplate().insert("insertTask", obj);
}
//strusts2 action
String mainid=(String)taskService.save(t); //获取新插入的表的主键
分享到:
相关推荐
在Ibatis中,可以通过`<selectKey>`标签配合`keyProperty`指定主键属性,`resultType`指定返回类型,然后在SQL语句中调用序列生成器。 3. **自增(Identity)**: MySQL、SQL Server等数据库支持字段的自动递增...
在实际开发中,选择哪种主键生成方式应根据数据库类型、并发量以及业务需求来决定。Ibatis提供的灵活性使得开发者可以根据具体情况自由配置,从而优化性能和简化编码。 在本教程"08_传智播客ibatis教程_sql主键生成...
这些类型在iBatis中通常通过`HashMap`或特定的实体类进行封装后传递。 #### #与$的区别 在iBatis中编写SQL语句时,可以使用`#{}`和`${}`两种方式来插入参数。这两种方式的主要区别在于安全性和性能: - **#{}**: ...
### Ibatis调用Oracle存储过程返回自定义类型 在企业级应用开发中,尤其是在金融、保险等业务场景中,往往需要处理复杂的数据结构与逻辑。本文将深入探讨如何使用Ibatis框架来调用Oracle数据库中的存储过程,并实现...
这个方法接收ResultSet、列名以及目标Java类型作为参数,返回转换后的Java对象。 在实际开发中,`TypeHandler`通常通过以下几种方式使用: 1. 自定义类型处理器:对于数据库中特殊类型的字段,如日期、时间戳或...
在Ibatis中,主键的生成方式有多种,可以根据不同的数据库类型和业务需求选择合适的方法。 1. **序列(Sequence)**:这是在Oracle数据库中常用的方式,通过创建一个序列对象,每次插入新记录时,序列会自动提供一...
Ibatis对枚举类型的原生支持可能不如实体类那样直观,但通过一些策略,我们可以实现枚举与数据库字段之间的映射。以下将详细解释如何在Ibatis中处理枚举类型。 首先,我们需要定义枚举类。枚举类通常包含若干枚举...
本文将深入探讨如何使用iBatis调用存储过程并返回游标,这是一个在处理复杂数据库操作时常见的需求。 ### iBatis调用存储过程返回游标 #### 存储过程简介 存储过程是预先编译并存储在数据库中的SQL代码块,它可以...
ibatis 读取oracle clob类型
iBatis 数据缓存机制是提高数据库访问性能的重要手段,它允许将查询结果存储在内存中,以便后续相同查询能够快速获取数据,而无需每次都执行SQL查询。在深入理解iBatis的Cache概念之前,首先需要知道iBatis是一个轻...
String resource = "com/ibatis/sample/SqlMapConfig.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build...
TypeHandler是`iBatis`处理Java类型和JDBC类型之间转换的接口。通过创建一个自定义的TypeHandler,我们可以实现将中文字符串转化为数据库能识别的格式,如Base64编码,存储到数据库中;在读取时,再将数据解码回中文...
可以看到,返回的 `test` 是一个 `List<Map<String, Object>>` 类型的集合,其中每个元素都是一个 `Map` 对象,键是数据库的列名,值则是对应的列值。 #### 5. 示例应用 下面是一个更具体的示例: ```xml ...
6. **结果映射**:返回的结果可以通过ResultMap进行自动映射到Java对象,或者使用resultType或resultMap指定返回类型。 **iBatis迭代的用法** 在处理查询结果时,iBatis提供了迭代的用法,可以方便地遍历查询结果...
Ibatis提供了多种方式来实现映射,如自动类型匹配、自定义类型处理器、复杂关联映射等。 7. **缓存机制**:Ibatis内置了本地缓存和二级缓存,可以提高数据读取速度。本地缓存作用于单个SqlSession,而二级缓存则...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将注意力集中在编写SQL语句上,而无需关注JDBC代码的编写。Ibatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的...
iBatis支持多种类型的SQL参数,包括基本类型(如int、String等)和复杂类型(如Java对象)。在SQL映射文件中,可以通过`<parameterMap>`和`<resultMap>`来定义参数映射规则,确保参数能够正确传递到SQL语句中。 ###...
2. 执行映射的Statement,iBATIS框架创建PreparedStatement,使用参数对象,执行SQL并从结果集中构建返回对象。 3. 返回结果,如果是更新操作,返回受影响的行数;如果是查询,返回单个对象或对象集合。 五、基础...
Executor分为两种类型:SimpleExecutor和CachingExecutor,前者用于基本的SQL执行,后者增加了缓存功能。Executor通过`StatementHandler`来处理预编译的SQL语句,再由`ResultSetHandler`进行结果集的处理和映射。 ...
标题 "ibatis类型" 暗示我们讨论的是关于iBATIS这个持久层框架的一些特定类型或组件。iBATIS是Java开发中的一个流行数据库访问框架,它允许开发者将SQL语句直接集成到XML配置文件中,实现了SQL与Java代码的分离,...