`

ibatis 配置 oracle 存储过程

阅读更多
话就不多说。直接看代码吧;自己理解记录,不是很恰当。
欢迎拍砖!!!

        <!-- 自定一个map容器,跟存储过程中输入变量一致 -->
	<parameterMap class="hashmap" id="tableTempl">
        <!-- 指定传入参数的java类型和jdbc类型  mode="IN" 表示输入;"OUT":输出参数-->
		<parameter property="TEMP_TIME" jdbcType="VARCHAR"
			javaType="string" mode="IN" />
		<parameter property="TEMP_ID" jdbcType="VARCHAR"
			javaType="string" mode="IN" />
		<parameter property="TEMP_NAME" jdbcType="VARCHAR"
			javaType="string" mode="IN" />
		<parameter property="TEMP_REMARK" jdbcType="VARCHAR"
			javaType="string" mode="IN" />
	</parameterMap>
        <!-- 自定一个sqlmap-ID parameterMap指定为上面定义的map(重要)-->
	<procedure id="SP_SysClientBaseTempTable" parameterMap="tableTempl">
        <!-- <![CDATA[ 语句 ]]> 其中:<![CDATA[ ]]> 最好不要换行-->
		<![CDATA[{call sp_client_base_template(?,?,?,?)}]]>
	</procedure>
	<parameterMap class="hashmap" id="tableColTempl">
		<parameter property="TEMP_ITEM" jdbcType="VARCHAR"
			javaType="string" mode="IN" />
		<parameter property="TEMP_ID" jdbcType="VARCHAR"
			javaType="string" mode="IN" />
		<parameter property="TEMP_ITEM_NA" jdbcType="VARCHAR"
			javaType="string" mode="IN" />
		<parameter property="TEMP_TIME_DEC" jdbcType="VARCHAR"
			javaType="string" mode="IN" />
	</parameterMap>
	<procedure id="SP_SysClientBaseTempTableCol" parameterMap="tableColTempl">
		<![CDATA[{call sp_client_base_template_col(?,?,?,?)}]]>
	</procedure>

配置完毕后,看java代码;
basedao为自定义dao操作接口;以spring注入了sqlMapClient(org.springframework.orm.ibatis.SqlMapClientFactoryBean)

//tabDataMap 对应 sqlmap配置中的 tableTempl
basedao.queryForObject("client_core_common.SP_SysClientBaseTempTable",
tabDataMap);
//tabColMap 对应 sqlmap配置中的 tableColTempl
HashMap tabColMap = (HashMap)tabColList.get(i);
basedao.queryForObject("client_core_common.SP_SysClientBaseTempTableCol",
tabColMap);



以上map集合中的tabDataMap 和 tabColMap
内容为:
tabDataMap = [{"TEMP_TIME":"2011-10-10 16:59:45","TEMP_NAME":"公文交 换","TEMP_REMARK":"123123","TEMP_ID":"201191165945703"}] 

tabColMap = [{"TEMP_TIME_DEC":"正文","TEMP_ITEM_NA":"正文","TEMP_ID":"201191165945703","TEMP_ITEM":"DOC_TEXT"},{"TEMP_TIME_DEC":"附件字段15","TEMP_ITEM_NA":"附件字段15","TEMP_ID":"201191165945703","TEMP_ITEM":"ADDITIONAL10"},{"TEMP_TIME_DEC":"附件字段9","TEMP_ITEM_NA":"附件字段9"}]


结束!按照以上配置保你ibatis配置存储过程没有问题。

分享到:
评论

相关推荐

    ibatis调用oracle存储过程

    在IT领域,特别是数据库操作与Java开发中,利用ibatis框架调用Oracle存储过程是一个常见的需求,这不仅能够提升代码的执行效率,还能增强应用程序的安全性。本文将深入解析ibatis如何与Oracle数据库中的存储过程进行...

    Ibatis调用Oracle存储过程返回自定义类型

    ### Ibatis调用Oracle存储过程返回自定义类型 在企业级应用开发中,尤其是在金融、保险等业务场景中,往往需要处理复杂的数据结构与逻辑。本文将深入探讨如何使用Ibatis框架来调用Oracle数据库中的存储过程,并实现...

    ibatis调用oracle的函数,存储过程的方法

    2. **Oracle存储过程**:存储过程与函数类似,但不一定要返回值。它可以接收输入参数(IN参数)、输出参数(OUT参数)或者两者都有(IN/OUT参数),并可以执行一系列操作,如更新数据、查询等。例如,`PROCEDURE ...

    ibatis调存储过程返回游标

    本文将深入探讨如何使用iBatis调用存储过程并返回游标,这是一个在处理复杂数据库操作时常见的需求。 ### iBatis调用存储过程返回游标 #### 存储过程简介 存储过程是预先编译并存储在数据库中的SQL代码块,它可以...

    ibatis+oracle实例

    3. **存储过程调用**:Ibatis可以通过`&lt;select&gt;`、`&lt;procedure&gt;`元素调用Oracle的存储过程,增强业务逻辑的封装性。 4. **连接池管理**:Ibatis可以与各种连接池(如C3P0、Druid、HikariCP等)集成,提高数据库连接...

    ibatis调用存储过程介绍

    接下来,我们需要在iBATIS的映射文件中配置调用存储过程的语句。映射文件通常以`.xml`为扩展名,例如`emp.xml`。在这个文件中,我们将定义一个`&lt;select&gt;`标签来调用存储过程: ```xml &lt;!DOCTYPE mapper PUBLIC "-/...

    Ibatis+Oracle(含对应数据库sql) 源码

    3. **SQL语句的编写**:包含增删改查(CRUD)的各种操作,可能涉及到存储过程、触发器等高级特性。 4. **数据持久化操作**:通过Ibatis实现Java对象与数据库记录之间的映射,理解动态SQL的概念。 5. **事务管理**...

    ibatis调用oracle的函数,存储过程的方法 IN 和OUT /游标

    确保正确配置Oracle驱动和数据源,以及正确处理异常,是成功调用Oracle函数和存储过程的关键。 通过学习和实践这些技巧,开发者可以充分利用iBatis的优势,高效地在Java应用中调用Oracle的函数和存储过程,提高代码...

    Spring MVC+ibatis+oracle框架整合

    通过这样的整合,开发者能够利用Spring MVC的控制反转和依赖注入,iBatis的SQL灵活性,以及Oracle的高性能存储,构建出一个稳定、高效的Web应用系统。同时,这个项目也为其他开发者提供了一个学习和参考的实例,帮助...

    spring+ibatis+oracle分页缓存源码

    在Spring中,可以通过配置开启iBatis的二级缓存,并结合Oracle的行级锁和乐观锁策略,确保数据的一致性。 在Oracle中,我们可以利用ROWNUM伪列进行分页查询。例如,通过WHERE ROWNUM BETWEEN start AND end限制返回...

    struts2+spring+ibatis+oracle整合的登陆系统

    总结来说,"struts2+spring+ibatis+oracle整合的登陆系统"是一个综合性的Web应用示例,它展示了如何利用Struts2处理用户交互,Spring管理依赖和事务,iBatis执行数据库操作,以及Oracle存储数据。这样的整合方案为...

    ibatis与存储过程(带输出参数的应用)

    在传统的SQL调用中,Ibatis通过XML配置文件或注解来定义SQL语句,但在某些场景下,如复杂的业务逻辑处理、批量操作等,存储过程的使用更为合适。 存储过程是数据库中预编译的SQL语句集合,它可以包含输入、输出和...

    jar框架包2 ibatis spring oracle mysql

    Ibatis,全名MyBatis,是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。与传统的持久层框架相比,Ibatis更加灵活,允许开发者直接编写SQL,避免了过多的代码生成和运行时反射,提高了性能。它通过...

    spring mvc+ibatis+oracle单表增删改(有包)

    总的来说,这个项目提供了一个基础的Web应用示例,展示了如何利用Spring MVC作为Web框架,结合iBATIS进行数据访问,以及Oracle数据库进行数据存储。通过学习和实践这个项目,开发者可以深化对这三者集成的理解,为更...

    Ibatis.net+ oracle 简单事例

    对于Oracle,可能需要利用其特有的函数或特性,如PL/SQL存储过程、游标等。 3. **SQL映射接口**:在.NET 类中创建对应的接口,这个接口的方法对应XML文件中的SQL语句,实现业务逻辑与SQL的绑定。 4. **事务管理**...

    iBATIS操作Oracle CLOB数据

    综上所述,通过iBATIS操作Oracle的CLOB数据,需要对iBATIS的映射文件、类型处理器以及Oracle的CLOB特性有深入理解。在实际开发中,合理配置和使用这些机制,能够有效地管理大量文本数据,同时保持代码的简洁性和可...

    struts2+spring+ibatis+oracle+分页搜索+上传附件实例

    在这个实例中,Oracle存储应用的数据,包括用户信息、搜索条件、附件等。使用Oracle的分页功能,可以高效地处理大量数据的查询,同时,其强大的数据类型支持附件的存储。 5. **分页搜索**:在Web应用中,分页搜索是...

    maven spring struts ibatis oracle框架整合

    2. **创建Maven项目**:初始化Maven项目,配置pom.xml文件,添加Spring、Struts、iBatis和Oracle驱动等相关依赖。 3. **配置Spring**:定义bean配置文件,声明Service、DAO、DataSource等组件,启用Spring的AOP和...

    ibatis下oracle树查询

    因此,我们需要在iBatis的映射文件中编写自定义的SQL语句,并可能需要使用存储过程来实现递归查询。或者,可以采用其他策略,比如分步加载(懒加载)树的各个层级,或者在应用程序层面进行迭代处理。 在实际开发中...

Global site tag (gtag.js) - Google Analytics