一般情况下,我们用ibatis都是传入一个参数,这个参数可以为一个类,一个字符串,一个整型等等,例如:
<select id="selectpw" parameterClass="String" resultClass="String">
select pwd from userinfo
where userid=#userid#
</select>
在方法体里可以用:password = (String)sqlMapClient.queryForObject("selectpw", userid)得到password。
但是有时候我们却想从前面传入两个或多个参数,这时候怎么办呢? -----------------用Map:
在方法体里:我们把多个参数存放在map里,然后在前面获得它:
Map map = new HashMap();
map.put("userid", userid);
map.put("name", name);
cardList = (List)sqlMapClient.queryForList("findByName", map);
在SQL语句中:
<select id="findByName" parameterClass="java.util.Map" resultClass="Card">
select * from cardinfo where userid=#userid# and name like '$name$'
</select>
这样就可以将多个参数传过去了。
分享到:
相关推荐
标题:ibatis教程 输入参数详解 描述:ibatis教程 输入参数详解 ibatis快速入门 标签:ibatis list 部分内容:这段部分提供了ibatis用户指南的警告,关于从文档复制代码的问题,以及ibatis的概述、如何开始使用...
在使用ibatis(现称为MyBatis)进行数据库操作时,经常会遇到需要处理多个输入参数的情况。然而,默认情况下ibatis只支持单个输入参数,这在实际开发中往往难以满足需求。本文将详细介绍如何在ibatis中实现多参数...
`#value#`是Ibatis的占位符,代表传递给SQL查询的参数。 `sqlMapConfig.xml`文件是Ibatis的全局配置,它引用了`book.xml`,并设置了一些Ibatis的配置选项,如缓存和动态代理的启用。 综上所述,Ibatis通过配置文件...
需要注意的是,虽然这里使用了`selectOne`,但实际上存储过程可能返回多个结果集或者无结果,这时可以使用`sqlSession.callableStatement()`方法,然后调用`CallableStatement`的相关方法来处理。 在实际项目中,...
- 避免在`WHERE`子句中使用多个条件或`OR`操作符,而是应该使用`IN`操作符或者`UNION ALL`合并多个查询。 3. Struts、Spring与Ibatis的集成: - Struts作为MVC框架,主要负责视图与控制器的交互。在项目中,`...
本地缓存作用于单个SqlSession,而二级缓存则可以在多个SqlSession之间共享,但需要注意并发控制和数据一致性问题。 8. **插件支持**:Ibatis允许开发者编写自定义插件,通过拦截器模式对SqlSession或Executor的...
2.3 参数绑定:调用 SqlSession 的方法时,传入参数对象或 Map,Ibatis 会自动将参数映射到 SQL 语句中。 2.4 结果处理:查询操作返回的结果会被自动映射到 Java 对象,更新操作返回受影响的行数。 **3. 动态 SQL*...
在iBatis中,输入输出参数类型的支持非常丰富,几乎涵盖了Java中常见的所有基本数据类型及其封装类,同时也支持自定义JavaBean类型的传递。这使得开发者在处理数据库操作时具有很高的灵活性。 - **基本数据类型**: ...
`org.apache.ibatis.executor.parameter.ParameterHandler`实现了这个功能,它根据传递的参数对象,动态地设置SQL的参数。 七、插件机制 iBatis的插件机制允许用户自定义拦截器,实现对Executor、StatementHandler...
iBatis的动态SQL功能非常强大,可以通过`<if>`、`<choose>`、`<when>`、`<otherwise>`、`<where>`、`<set>`等标签编写条件语句,根据传入参数动态生成SQL。 ### 8. 使用`<foreach>`标签 `<foreach>`标签用于遍历...
1. **SQL映射文件**:每个XML文件代表一个数据库表或视图,包含多个SQL语句。这些语句可以是静态的,也可以是动态的,后者允许基于输入参数动态生成SQL。 2. **动态SQL**:IBATIS提供了一系列元素(如if、choose、...
在iBatis中,我们通常通过XML配置文件或者注解来定义SQL语句,并使用占位符(例如#{}或${})来传递参数。 1. **参数绑定**:iBatis使用占位符(#{})进行参数绑定,可以防止SQL注入攻击。当使用#{paramName}时,...
Ibatis 是一个优秀的Java持久层框架,它提供了一个SQL映射框架,使开发者能够将SQL语句与Java代码分离,从而实现数据访问层的解耦合。Ibatis 的设计目标是简化开发工作,减少JDBC代码量,提高开发效率,并且在数据库...
iBatis的一大特性是动态SQL,它允许在XML映射文件中编写条件语句,根据传入的参数动态构建SQL。这极大地提高了SQL的灵活性,减少了重复代码。 五、事务管理 iBatis支持自动和手动的事务管理。在Java代码中,可以...
5. **结果集映射**:iBATIS能自动将查询结果映射到Java对象,包括单一结果、多个结果集以及复杂的一对多关联映射。 6. **参数映射**:iBATIS可以将Java方法的参数自动映射到SQL的参数,减少了代码量,提高了开发...
Ibatis 支持基于多个条件的复杂查询。在 `select` 标签中,你可以使用 `<if>`、`<choose>`、`<when>`、`<otherwise>` 和 `<where>` 等标签来构建动态 SQL,根据传入参数的不同组合生成不同的 SQL 语句。 5. **单...
2. **映射语句**:SQL语句被映射到Java方法,通过传入参数,可以实现动态SQL执行,提高代码可读性和可维护性。 3. **结果映射**:Ibatis自动将数据库查询结果转换为Java对象,减少了手动类型转换的工作量。 4. **...
通常,这个版本的Ibatis.Net已经比较老,最新版本可能提供了更多的特性和优化。不过,对于学习和理解Ibatis.Net的基本工作原理,旧版本仍然很有价值。 2个HTML使用说明文件应该包含Ibatis.Net的安装指南、配置示例...
4. **调用存储过程**:在Service或DAO层,通过SqlSession对象的`selectOne`或`selectList`方法(根据存储过程是否有多个返回结果)调用Mapper接口中的方法,传入必要的参数。注意,对于输出参数,需要在调用前初始化...