`
wuyoubf
  • 浏览: 38051 次
  • 性别: Icon_minigender_1
  • 来自: 呼和浩特
社区版块
存档分类
最新评论

iBATIS多条件查询

阅读更多

1、在java代码中使用字符串拼接
映射文件中这样写:

<select id="getBrno" parameterClass="java.lang.String" resultMap="bctlResult">    
    select brno,brname from bctl where $sql$    
</select>

然后再java文件中拼写出SQL的条件语句: 

 

String sql= " brno like"+ b +"and pigday" = p;// b和p都是变量。

再在方法中调用传递进去:

 

brList = sqlMap.queryForList("CR.getBrno", sql);   

这是一种方法,很明显这种方法有一种弊端,就是sql语句需要写在java源文件中。如果需要更改查询条件,就不得不修改java文件,再重新编译。这与ibatis的本意有些违背。(这个容易被注入,不好吧^-^)

 

2,直接在映射文件中配置参数
映射文件这样写:

 

<!-- 多条件查询-->  
<parameterMap   id="myParam"   class="java.util.HashMap">      
  <parameter   property="id"/>      
  <parameter   property="name"/>      
</parameterMap>      
<select   id="multConQuery" parameterMap="myParam" resultClass="Department">      
    select * from department where id = ? and name = ?        
</select> 

java文件中这样调用:

 

public Department queryDepartmentByIdAndName(int id,String name)   
{   
    Department dept = new Department();   
    try  
    {   
        sqlMapClient.startTransaction();   
        HashMap hmParam = new HashMap();   
        hmParam.put("id",id);   
        hmParam.put("name",name);   
        sqlMapClient.queryForObject("multConQuery",hmParam,dept);   
        sqlMapClient.commitTransaction();   
    }   
    catch(Exception e)   
    {   
        e.printStackTrace();   
    }   
    return dept;   
 }  

 

分享到:
评论
3 楼 pch272215690 2011-04-06  
2 楼 fishinsky 2011-01-27  
id或name其中有一为空的情况呢?
1 楼 zhou363667565 2010-10-17  
谢谢..刚好适合我这种新手 ...学习了..

相关推荐

    ibatis动态多条件组合查询

    ibatis动态多条件组合查询 实例 说明

    ibatis_动态查询条件

    ibatis_动态查询条件详解及需要注意的地方

    iBatis条件查询

    iBatis做的按条件查询,没关联其他表,内带Mysql,适用于小型项目,hibernate是全自动化,如有朋友想学习下半自动化持久层框架,那就来下载这个看看吧。。

    ibatis入门

    ibatis入门级别代码,带有增删改查,多条件查询,单对象查询和数据集合查询,作为刚学习ibatis时使用(码云同步)

    ibatis-generator.zip

    ibatis-generator自动生成表的xml,dao,model文件,并且支持分页查询,条件查询等,从而节省大量的自己写sql的时间

    iBatis SQL Maps开发指南.pdf

    开发指南 iBATIS SQL Maps Page 3 of 62 Map类型的Result 复杂类型属性(即自定义类型的属性) 避免N+1 Select(1:1) 延迟加载 VS 联合查询(1:1) 复杂类型集合的属性 避免N+1 Select(1:M和M:N) 组合键值或多...

    常用ibatis配置

    常用IBATIS配置,返回新建数据ID,分页查询,查询条件,模糊查询,date时间段,list集合,截止日期

    iBATIS实战

    本书是讲述iBATIS框架的权威著作。书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的应用。书的最后给出了一个设计优雅、层次清晰的示例...

    ibatis 缓存配置策略

    • iBatis对查询结果集进行本地缓存。 • Cache的key由haskcode、checksum、查询参数、sqlmap Id、sql语句、调用方法名等构成。由此可以看出,不同的参数会有不同的Key。注意,他不是以查询参数的Class的hashcode或 ...

    iBATIS介绍入门

    iBATIS是以SQL为中心的持久化层...iBATIS能将输入的普通POJO对象、Map、XML等映射到SQL的条件参数上,同时也可以将查询结果映射到普通POJO对象(集合)、Map、XML等上面。 iBATIS使用xml文件来映射这些输入以及输出。

    ibatis学习

    用ibatis持久层框架写了一个带条件的简单查询,以及ibatis需要的jar包

    mybatis中操作json类型数据(csdn)————程序.pdf

    mybatis中操作json类型数据(csdn)————程序

    IBatis官方资料

    使用动态查询是iBatis一个非常强大的功能。有时你已经改变WHERE子句条件的基础上你的参数对象的状态。在这种情况下的iBATIS提供了一组可以映射语句中使用,以提高SQL语句的重用性和灵活性的动态SQL标签。

    Ibatis+spring+Ecside的一个完整例子

    经过一段时间的摸索,写了一个例子,可以完整的实现Ibatis+spring+Ecside的整合,很小,很方便。...不过只是实现了单条件的查询,更复杂的正在做,不久可以和大家分享。 由于设计内部的数据删除了spring的配置文件。

    iBATIS 帮助文档

    SQL Maps (com.ibatis.sqlmap.*)......................................................................................................5 SQL Map的概念........................................................

    基于Servlet3.0+IBatis+BootStrip技术构建简单会议管理系统

    第25课 查询设备信息(根据会议室条件查询) 第26课 添加会议室 第27课 会议管理(查询+修改) 第28课 会议室管理(修改+删除) 第29课 会议室查询(查看)+ajax验证会议室编号 第30课 会议室预约(1) 第31课 会议室...

    ibatic对MySql的简单操作实现

    内容分为5部分,用具体而且简单的例子来说明了如何用ibatis来操作数据库(以MySql为例)。

    springmybatis

    而且也比较轻量级,因为当时在项目中,没来的及做很很多笔记。后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此...

    AppFramework_V1.0

    &lt;br&gt;4、 提供了强大的QueryFilter类构造查询条件,使得实现数据查询不再需要编写复杂的SQL语句; &lt;br&gt;5、 提供类似IBatisNet的Sql模板功能,为复杂的查询统计提供较直观的开发模式; &lt;br&gt;6、 提供代码生成...

    AppFramework_V1.0_New

    &lt;br&gt;4、 提供了强大的QueryFilter类构造查询条件,使得实现数据查询不再需要编写复杂的SQL语句; &lt;br&gt;5、 提供类似IBatisNet的Sql模板功能,为复杂的查询统计提供较直观的开发模式; &lt;br&gt;6、 提供代码生成...

Global site tag (gtag.js) - Google Analytics