iBatis 使用中容易出错的地方(摘自《iBATIS-SqlMaps-2-Tutorial_cn.pdf》)
1. 在parameterMap和resultMap中,字段数据类型是java.sql.Types类定义的常量名称。
常用的数据类型包括BLOB,CHAR,CLOB,DATE,LONGVARBINARY, INTEGER,NULL,NUMERIC,TIME,TIMESTAMP和VARCHAR等。
2. 对于数据表中NULLBALE的字段,必须在parameterMap和resultMap中指定字段的数据类型。
3. 对于数据类型是DATE,CLOB或BLOB的字段,最好在parameterMap和resultMap中指定数据类型。
4. 对于二进制类型的数据,可以将【LONGVARBINARY】映射成【byte[]】。
5. 对于文本类型较大的数据,可以将【CLOB】映射成【String】。
6. Java Bean必须拥有缺省的构造器(即无参数的构造器)。
7. Java Bean最好实现Serializable接口,以备应用的进一步扩展。
spring + iBatis 调用 oracle 存储过程
* sqlmap 这样写
<procedure id="handle_xg_reduce_tuition" parameterClass="map">
{call sf_tuition.handle_xg_reduce_tuition_multi(#reduceTutionIdsJoin#, #dealPerson#, #userName#)}
</procedure>
* DAO 方法这样调
public class SfVwXgReduceTuitionDAOImpl extends SqlMapClientDaoSupport implements SfVwXgReduceTuitionDAO {
......
public void handleXgReduceTuition(String reduceTutionIdsJoin, String dealPerson, String userName) {
Map parameterMap = new HashMap();
parameterMap.put("reduceTutionIdsJoin", reduceTutionIdsJoin);
parameterMap.put("dealPerson", dealPerson);
parameterMap.put("userName", userName);
// 调用存储过程
getSqlMapClientTemplate().update("SF_VW_XG_REDUCE_TUITION.handle_xg_reduce_tuition", parameterMap);
}
}
* 进一步说明
以上是最简单的情况,调用一个接收简单参数,无返回的存储过程。
对已需要返回单个参数以及一个 oracle cursor 的情况,分别调用 getSqlMapClientTemplate().queryForObject(...) 或 getSqlMapClientTemplate().queryForList(...)
分享到:
相关推荐
1. layout-cache:这可能是一个缓存文件,用于存储页面布局或用户界面的状态,可能与Ibatis的二级缓存机制有关。 2. mimetype:定义文件类型的元数据,可能在解释或读取XML文件(如SQLMap配置或结果集映射)时发挥...
- **存储过程**:支持调用数据库中的存储过程,并处理输入输出参数。 - **Parameter Maps** 和 **Inline Parameters**:定义参数映射规则,支持多种参数类型。 - **Result Maps**:定义结果集映射规则,用于将查询...
4. 支持存储过程:Ibatis允许调用数据库的存储过程,增强了数据库的利用能力。 5. 强大的结果集映射:可以通过配置文件实现复杂的结果集映射,包括一对一、一对多、多对多等关联关系的映射。 三、Ibatis 2.3.4 版本...
MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。本教程通过一个实际的Eclipse工程,向初学者展示了如何搭建并使用iBATIS进行...
这些映射文件通常包含SQL查询、存储过程以及事务管理等元素,使得开发者无需编写大量JDBC代码就能完成数据操作。这种设计模式提高了开发效率,降低了出错概率,同时增强了代码的可读性和可维护性。 SQL Maps的主要...
ibatIS调用存储过程是数据库操作中常见的一种技术,特别是在复杂的业务逻辑处理或数据批量操作时,存储过程能够提供更高的效率和更好的性能。本文将深入探讨如何在ibatIS框架中调用存储过程,以及涉及到的相关知识点...
8. **高级特性**:可能包括动态SQL、存储过程的支持、批处理操作、一对一和一对多关联映射等进阶话题。 9. **实战教程**:通过具体的示例代码,展示如何创建一个完整的iBATIS应用程序,从数据库设计到编写SqlMap...
其次,`iBATIS-DAO-2_en.pdf`是关于iBATIS DAO层的英文文档。DAO(Data Access Object)模式是一种常用的设计模式,用于隔离应用程序与数据存储之间的交互。在iBATIS中,DAO层可以帮助你创建可重用的对象,这些对象...
此外,还会涉及到动态SQL、存储过程的调用、缓存机制等高级主题。 而"IBATIS-SqlMaps-2-Tutorial_cn.pdf"则是一个教程,适合初学者学习。它会通过实例逐步引导读者掌握iBATIS的基本操作,包括安装、创建第一个...
4. **`<storedProcedures>`**:支持存储过程调用,可以定义输入和输出参数。 5. **参数映射**: - **`<inlineParameterMaps>`**:适用于简单的参数传递场景。 - **原始类型参数**:直接支持整数、字符串等基本类型...
### Ibatis调用存储过程详解 #### 一、引言 在实际的软件开发过程中,存储过程因其执行效率高及数据库级别的安全性等优点被广泛应用于各种业务场景之中。而对于使用Ibatis作为持久层框架的应用来说,如何有效地...
本文将详细介绍如何使用iBATIS调用存储过程,并提供一个简单的示例来说明其过程。 首先,我们需要在数据库中创建一个存储过程。以下是一个Oracle数据库中的存储过程示例: ```sql CREATE OR REPLACE PROCEDURE pp ...
ibatis调用oracle存储过程分页
通过调用存储过程,可以实现更复杂的数据处理逻辑,提高数据库性能。在SqlMap文件中,使用call元素定义存储过程,并通过parameterMap和resultMap进行参数传递和结果映射。 在Java代码中,使用SqlSession对象执行SQL...
- **Stored Procedures**:定义存储过程的调用方式。 - **Parameter Maps and Inline Parameters**:参数映射和内联参数,用于处理复杂的数据类型。 - **Inline Parameter Maps**:在SQL语句中直接指定参数值。 ...
在Java开发中,iBATIS(现在被称为MyBatis)是一个流行的数据持久层框架,它允许开发者将SQL语句直接嵌入到Java代码中,从而简化数据库操作。...希望这个示例能帮助你更好地理解iBATIS调用存储过程的方法。
首先,理解iBATIS调用存储过程的基本原理。iBATIS允许开发者在映射文件中定义存储过程调用,通过`<procedure>`标签来实现。在这个例子中,我们看到一个名为`P_DJ_GETRYANDPYRBYRYID`的存储过程被调用,它接受三个...
根据提供的文件信息,标题为“ibatis调用存储过程”,主要关注的是如何使用ibatis框架来调用数据库中的存储过程。下面将详细解释ibatis框架的基本概念、存储过程的概念以及如何在ibatis中配置和执行存储过程。 ### ...
iBatis调用存储过程
"IBatis查删改查与调用存储过程 mysql数据库" 这个标题揭示了本文将深入探讨如何使用IBatis框架在MySQL数据库中执行基本的CRUD(创建、读取、更新、删除)操作,以及如何调用存储过程。IBatis是一个轻量级的Java持久...