`
wangchongbiao
  • 浏览: 53400 次
  • 性别: Icon_minigender_1
  • 来自: 河北、沧州
社区版块
存档分类
最新评论

IBatis查询条件为多个参数时如何配置

阅读更多


1) 用String代替

String sql = "uid = '" + username + "' and pwd='" + password + "'";
Integer r = (Integer) sqlMap.queryForObject("checkLogin", sql);
 
<select id="checkLogin" parameterClass="java.lang.String" resultClass="java.lang.Integer">
     SELECT count(*) AS value FROM userinfo WHERE $sql$
</select>
 

2)用 Map

Map map=new HashMap();
map.put("uid", username);
map.put("pwd", password);
Integer r = (Integer) sqlMap.queryForObject("checkLogin2", map);

  一种写法:

<select id="    " parameterClass="java.util.Map" resultClass="java.lang.Integer">
       SELECT count(*) AS value FROM userinfo WHERE uid=#uid# and pwd=#pwd#
</select>

  另一种写法

<parameterMap class="java.util.HashMap" id="parameterMap">      
	<parameter property="uid"/>      
	<parameter property="pwd"/> 
</parameterMap>    
<select id="checkLogin2" resultClass="java.lang.Integer" parameterMap="parameterMap">      
	 SELECT count(*) AS value FROM userinfo WHERE uid=? and pwd=?
</select> 

3)用bean

public Student queryStudentsByNameAndId(HashMap<String,String> hashMap)      {         

 Student s=null;          
try {             
      s=(Student)sqlMapClient.queryForObject("selectStudentByIdAndName",hashMap);                       
 } catch (SQLException e) {               
      e.printStackTrace();         
 }         
      return s;     
 }   
 
<parameterMap class="java.util.HashMap" id="parameterMap">      
      <parameter property="sid"/>      
      <parameter property="sname"/> 
 </parameterMap>    

<select id="selectStudentByIdAndName" resultClass="Student" parameterMap="parameterMap">      
       select * from student where  sid=? and sname=?  
</select> 
分享到:
评论
1 楼 yangcheng33 2015-06-29  
最后一个用bean的写错了吧,还是用map实现的

相关推荐

    动态ibatis查询语句配置

    动态查询语句配置是Ibatis的一个重要特性,它允许我们在运行时根据业务需求构建灵活多变的SQL语句。这篇博文主要探讨的是如何在Ibatis中设置和使用动态SQL,以便实现更高效、更灵活的数据查询。 首先,我们需要理解...

    ibatis教程 输入参数详解

    例如,使用`&lt;if&gt;`元素可以实现条件判断,`&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`元素可以实现多条件分支,`&lt;trim&gt;`, `&lt;where&gt;`, `&lt;set&gt;`元素可以简化SQL语句的拼接,`&lt;foreach&gt;`元素则可以处理集合参数。 通过上述...

    常用ibatis配置

    在iBatis配置中,可以使用等标签来确保只有当日期字段不为空时,才会将相应的日期范围查询条件拼接到SQL语句中。 6. list集合:当需要根据一组特定的值进行查询时,例如IN操作,iBatis允许将list集合作为参数传递。...

    Ibatis复杂查询语句.doc

    在Ibatis中,复杂查询通常涉及到多个表的联接、条件动态拼接、子查询以及各种数据类型的处理。文档"Ibatis复杂查询语句.doc"所展示的查询语句就是一个很好的例子,展示了Ibatis如何处理复杂的数据库操作。接下来,...

    ibatis多表查询过程

    这样在多个查询中引用同一段代码时,只需指定引用ID即可。 ### 4. `left join`、`right join`、`inner join` 在多表查询中,我们需要使用JOIN操作连接不同的表。iBatis支持`left join`、`right join`和`inner join`...

    ibatis用xml配置文件配置使用

    1. **创建XML配置文件**:在项目中创建一个名为`mybatis-config.xml`的文件,这是iBATIS的全局配置文件,用于定义数据源、事务管理器等。同时,也需要为每个Mapper创建单独的XML文件,如`UserMapper.xml`,其中包含...

    Ibatis查询语句里,可以使用多表查询

    多表查询通常涉及到 JOIN 操作,例如内连接(INNER JOIN)、左连接(LEFT JOIN)等,这些操作可以帮助我们从多个相关联的表中获取所需的数据。 #### 三、多表查询示例分析 根据提供的部分代码,我们可以看到一个多...

    ibatis总结 ibatis ibatis ibatis ibatis

    - 避免在`WHERE`子句中使用多个条件或`OR`操作符,而是应该使用`IN`操作符或者`UNION ALL`合并多个查询。 3. Struts、Spring与Ibatis的集成: - Struts作为MVC框架,主要负责视图与控制器的交互。在项目中,`...

    ibatis的动态查询

    **知识点2:** 多条件组合查询是指在一个查询语句中同时使用多个条件,以满足更复杂的查询需求。 1. **使用 `&lt;dynamic&gt;` 标签进行多条件组合查询:** - `&lt;dynamic&gt;` 标签允许根据传入的参数动态生成 SQL 语句。 -...

    Ibatis的应用和配置

    2. 动态SQL:Ibatis支持动态SQL,可以在XML映射文件中编写条件语句,实现灵活的查询逻辑,比如根据条件选择性地包含或排除某些WHERE子句。 3. 缓存机制:Ibatis内置了缓存功能,可以在一定程度上提高数据访问效率,...

    ibatis配置文件模板

    在实际开发中,Ibatis允许通过动态SQL来构建灵活的查询,比如`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`、`&lt;where&gt;`、`&lt;set&gt;`等标签,使得SQL能够在运行时根据条件动态生成,大大提高了代码的可维护性和复用性。...

    IBatis完成单表基本的数据库操作 模糊查询

    比如,你可以根据参数是否为空来决定是否包含某个条件,这在处理模糊查询时尤其有用。 标签"源码"和"工具"暗示了这篇博客可能深入讲解了iBatis的实现细节,并且提供了一些实用技巧。通过阅读博客全文,你可能会学习...

    ibatis and和or联合查询 .doc

    在SQL查询中,`AND` 和 `OR` 是用来连接两个或多个条件的关键字。`AND` 关键字用于组合条件,并且只有当所有组合的条件都被满足时,才会返回相应的行;而 `OR` 关键字则只要其中一个条件被满足就会返回相应的行。 ...

    ibatis demo,ibatis例子,ibatis示例

    本地缓存作用于单个SqlSession,而二级缓存则可以在多个SqlSession之间共享,但需要注意并发控制和数据一致性问题。 8. **插件支持**:Ibatis允许开发者编写自定义插件,通过拦截器模式对SqlSession或Executor的...

    iBatis执行非查询语句(CRUD,函数和过程)

    调用方法时,iBatis会根据条件执行删除操作。 三、执行数据库函数和过程 iBatis同样支持调用数据库的自定义函数和存储过程。在XML映射文件中,可以使用`&lt;select&gt;`、`&lt;insert&gt;`、`&lt;update&gt;`或`&lt;delete&gt;`标签来调用...

    ibatis源码,ibatis源码 ibatis源码 ibatis源码

    iBatis的配置文件SqlMapConfig.xml是系统启动时加载的关键,它包含了数据源(DataSource)、事务管理器(TransactionManager)和SqlMap配置信息。解析这个XML文件的过程涉及到DOM或SAX解析器,源码中这部分功能通常...

    Ibatis

    Ibatis 的一大亮点是支持动态 SQL,开发者可以在 SQL 映射文件中使用条件判断、循环等结构,使得 SQL 语句能够根据传入参数的不同而变化。 **4. MyBatis vs Ibatis** 尽管 Ibatis 在后期演进成了 MyBatis,两者在...

    ibatis教程,ibatis帮助文档

    iBATIS是一个由Clinton Begin创建,目前由Apache基金会支持的持久化框架,它专注于数据库查询的简化,尤其在JDBC编程方面提供了极大的便利。相对于全自动化ORM解决方案如Hibernate,iBATIS被称为“半自动化”ORM实现...

    IBATIS开发使用实例

    1. **多表连接**:通过`JOIN`关键字或内嵌`WHERE`子句实现多个表的关联,本例中涉及到`T_PUB_TASK_GROUP`、`T_PUB_TASK`、`T_PUB_COVERAGE`和`T_COMM_CODE`四张表的连接。 2. **条件筛选**:`WHERE`子句用于筛选出...

Global site tag (gtag.js) - Google Analytics