`
lionelf
  • 浏览: 81796 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ibatis多条件查询

阅读更多
  1. [b]ibatis 的多条件查询  
  2. ibatis自带的入门例子中,查询条件只有一个。多数情况下,查询条件都是多个的。如果要实现多条件查询,如何实现?  
  3. 百度了一下,有以下解决方案:  
  4. 1 ,在java代码中使用字符串拼接  
  5. 映射文件中这样写:  
  6.   
  7. view plaincopy to clipboardprint?  
  8. <select id="getBrno"  parameterClass= "java.lang.String"  resultMap= "bctlResult" >      
  9.     select brno,brname from bctl where $sql$      
  10. </select>    
  11. <select id="getBrno"  parameterClass= "java.lang.String"  resultMap= "bctlResult" >   
  12.  select brno,brname from bctl where $sql$   
  13. </select>   
  14.   
  15. 然后再java文件中拼写出SQL的条件语句:    
  16.   
  17. view plaincopy to clipboardprint?  
  18. String sql= " brno like" + b + "and pigday"  = p; // b和p都是变量。     
  19. String sql= " brno like" + b + "and pigday"  = p; // b和p都是变量。    
  20.   
  21. 再在方法中调用传递进去:  
  22.   
  23. view plaincopy to clipboardprint?  
  24. brList = sqlMap.queryForList("CR.getBrno" , sql);     
  25. brList = sqlMap.queryForList("CR.getBrno" , sql);    
  26.   
  27. 这是一种方法,很明显这种方法有一种弊端,就是sql语句需要写在java源文件中。如果需要更改查询条件,就不得不修改java文件,再重新编译。这与ibatis的本意有些违背。  
  28. 因此本人没有测试过以上方法是否可行。  
  29.   
  30. 2 ,直接在映射文件中配置参数  
  31. 映射文件这样写:  
  32.   
  33. view plaincopy to clipboardprint?  
  34. <!-- 多条件查询-->    
  35. <parameterMap   id="myParam"     class = "java.util.HashMap" >        
  36.   <parameter   property="id" />        
  37.   <parameter   property="name" />        
  38. </parameterMap>        
  39. <select   id="multConQuery"  parameterMap= "myParam"  resultClass= "Department" >        
  40.     select * from department where id = ? and name = ?          
  41. </select>     
  42. <!-- 多条件查询-->  
  43. <parameterMap   id="myParam"     class = "java.util.HashMap" >     
  44.   <parameter   property="id" />     
  45.   <parameter   property="name" />     
  46. </parameterMap>     
  47. <select   id="multConQuery"  parameterMap= "myParam"  resultClass= "Department" >     
  48.     select * from department where id = ? and name = ?       
  49. </select>    
  50.   
  51. java文件中这样调用:  
  52.   
  53. view plaincopy to clipboardprint?  
  54. public  Department queryDepartmentByIdAndName( int  id,String name)     
  55. {     
  56.     Department dept = new  Department();     
  57.     try     
  58.     {     
  59.         sqlMapClient.startTransaction();     
  60.         HashMap hmParam = new  HashMap();     
  61.         hmParam.put("id" ,id);     
  62.         hmParam.put("name" ,name);     
  63.         sqlMapClient.queryForObject("multConQuery" ,hmParam,dept);     
  64.         sqlMapClient.commitTransaction();     
  65.     }     
  66.     catch (Exception e)     
  67.     {     
  68.         e.printStackTrace();     
  69.     }     
  70.     return  dept;     
  71.  }    
  72.   
  73.    
  74.   
  75. 3 、动态查询方法  
  76.   
  77. 详细 
分享到:
评论

相关推荐

    ibatis动态多条件组合查询

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

    ibatis_动态查询条件

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

    iBatis条件查询

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

    ibatis入门

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

    ibatis中使用安全的拼接语句,动态查询,大于、小于、等于.doc

    iBatis 中使用安全的拼接语句、动态查询、大于、小于、等于 iBatis 是一个流行的持久层框架,提供了许多强大的功能来帮助开发者构建高效、安全的数据库交互应用程序。本文将详细介绍 iBatis 中使用安全的拼接语句、...

    ibatis-generator.zip

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

    ibatis16个常用sql语句

    iBatis 16个常用SQL语句 ...上面的语句将查询`StatMemberAction`表中满足条件的记录,输入参数中包含一个数组`moduleId`。 iBatis提供了一个灵活的方式来配置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标签。

    mysql优化提高百万条数据的查询速度[参考].pdf

    MySQL优化提高百万条数据的查询速度 MySQL优化是指在MySQL数据库管理系统中,通过各种优化技术和方法,提高数据库的性能和查询速度。以下是MySQL优化提高百万条数据的查询速度的15个知识点: 1. 对查询进行优化,...

    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课 会议室...

    Mybatis核心应用配置与原理解析1

    一级缓存的使用场景是,当我们在同一个会话中多次执行相同的 SQL 语句和参数时,Mybatis 会从缓存中取出结果,而不是每次都去数据库中查询。 一级缓存的使用条件是: 1. 必须是相同的 SQL 和参数 2. 必须是相同的...

Global site tag (gtag.js) - Google Analytics