`
yahaitt
  • 浏览: 760787 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

Ibatis问题总结

阅读更多

1、有关parameterMap的使用

例子

sqlmap.xml中的配置(此处用的参数是HashMap类型)如下:

<parametermap class="java.util.HashMap" id="forSexParam"></parametermap>  

xml 代码

 

  1. <select id="selectBySexExceptSelf" parameterMap="forSexParam" resultMap="productResult">  
  2.       
  3.         select    
  4.         id,   
  5.         proname,   
  6.         pronum,   
  7.         proclick,   
  8.         probul,   
  9.         profee,   
  10.         prosex,   
  11.         procontent,   
  12.         procolor,   
  13.         prochic,   
  14.         prochicsm,   
  15.         promot,   
  16.         propic,   
  17.         prochange,   
  18.         proback,   
  19.         prouptime,   
  20.         proispush,   
  21.         proisnew,   
  22.         proison,   
  23.         prophoto,   
  24.         protoptime,   
  25.         proisremove,   
  26.         proremovetime,   
  27.         promodifytime,   
  28.         proisdis,   
  29.         prodisfee,   
  30.         proType   
  31.         from product   
  32.         <dynamic prepend="WHERE">  
  33.             <isParameterPresent prepend="and">  
  34.                 id != #id#   
  35.             isParameterPresent>  
  36.             <isParameterPresent prepend="and">  
  37.                 prosex = #prosex#   
  38.             isParameterPresent>  
  39.         dynamic>  
  40. select>  

      <parameter property="prosex"></parameter>    
 

 

java调用代码:

java 代码
  1. public List <product></product>  getProductListBySexExceptSelf(Integer id,String sex) {   
  2.     HashMap hmParam = new HashMap();   
  3.     hmParam.put("id", id);   
  4.     hmParam.put("prosex", sex);   
  5.     return getSqlMapClientTemplate().queryForList(Product.class.getName() + ".selectBySexExceptSelf", hmParam);   
  6. }  

请不要被很多网页中的问号的形式误导,这种写法将直接报错:The error occurred while applying a parameter map. 

  1. <dynamic prepend="WHERE">  
  2.     <isParameterPresent prepend="and">  
  3.         id != ?   
  4.     isParameterPresent>  
  5.     <isParameterPresent prepend="and">  
  6.         prosex = ?   
  7.     isParameterPresent>  
  8. dynamic>  
xml 代码

 
  

分享到:
评论
1 楼 gaoyide 2008-07-31  
使用ParameterMap作为输入参数,在插入语句中用?号

但是当paramaterMap的class属性是java.util.Map类时,应该使用#,不能用?

相关推荐

    ibatis总结 ibatis ibatis ibatis ibatis

    总结,Ibatis提供了灵活的SQL映射机制,使得开发人员能够更好地控制SQL的执行。同时,通过与Struts和Spring的整合,可以构建出强大的企业级应用。理解并熟练掌握这些知识点,对于提升Java Web开发的效率和质量至关...

    ibatis优点总结

    ibatis优点总结 ibatis优点总结

    传智播客ibatis教程_ibatis优点总结

    本文将深入探讨其中一个流行的选择——iBATIS,以及其在传智播客教程中的优点总结。 iBATIS,全称为“互联网应用程序基础工具包”(Internet Basics for Architecture with Transactions and SQL),是由Apache ...

    ibatis学习资料汇总

    《iBatis学习资料汇总》 iBatis,作为一个轻量级的持久层框架,它在Java开发领域中扮演着重要的角色。这个框架允许开发者将SQL语句与Java代码分离,提高了开发效率并降低了维护成本。本文将深入探讨iBatis的核心...

    解决IBatis缓存动态字段问题

    ### 解决IBatis缓存动态字段问题 #### 背景与问题描述 在使用IBatis框架处理数据库操作时,可能会遇到动态数据表名、动态字段名的情况。这种情况下,由于IBatis的缓存机制,可能导致字段找不到的问题。具体表现为...

    09_ibatis教程_ibatis优点总结.zip

    09_ibatis教程_ibatis优点总结.zip 09_ibatis教程_ibatis优点总结.zip

    ibatis开发过程取值问题

    总结起来,Ibatis中的“##”取值机制是为了处理SQL语句中的非参数部分,如表名、列名或SQL关键字。它在动态SQL构建中扮演了重要角色,让开发者能够更自由地构造复杂和灵活的查询。然而,使用“##”时需谨慎,避免...

    ibatis 知识点总结(PDF)

    ### ibatis知识点总结 #### 简介 ibatis是一个开放源代码项目,起初由Clinton Begin在2001年发起。该项目最初关注的是密码软件的开发,但随着时间的发展,逐渐演变成一个基于Java的持久层框架。ibatis在2010年由...

    ibatis教程,ibatis帮助文档

    总结起来,iBATIS是一个强大且灵活的持久化框架,它的主要优点在于将SQL语句的控制权交给开发者,同时提供了代码简化和维护性的提升。对于那些希望在ORM框架中保留更多数据库操作控制权的开发者来说,iBATIS是一个...

    ibatis学习总结,oracle , 敏捷开发,

    在IT行业中,Ibatis、Oracle...希望这篇总结能为你的学习之路提供有价值的指导,进一步深化你对Ibatis、Oracle和敏捷开发的理解。在IT世界中,持续学习和实践是提升自身能力的关键,祝你在技术探索的道路上越走越远。

    ibatis学习总结

    【ibatis学习总结】 在Java应用中,ORM(对象关系映射)框架是连接数据库与业务逻辑的关键。相比像Hibernate和Apache OJB这样的"一站式"ORM解决方案,iBATIS提供了一种更为灵活的"半自动化"策略。iBATIS允许开发者...

    ibatis2.rar

    "iBATIS学习总结 - 郭睿的专栏 - CSDN.NET_files"和"iBATIS与Spring集成及环境搭建 - 振华 - ITeye技术网站_files"可能是相关文章的图片或辅助资源。 通过这些资料,开发者可以系统地学习和掌握iBATIS 2.x版本的...

    Ibatis3手册 Ibatis3参考手册

    ### 四、总结 通过上述内容,我们可以了解到Ibatis3的基本工作原理及其配置方式。Ibatis3以其灵活性和高效性在众多ORM框架中脱颖而出,特别适合那些对SQL查询有特殊需求或者需要精细化控制的应用场景。希望本文能够...

    ibatis的错误总结

    这里的问题在于`parameterClass`被设定为`Long`,但实际传递的参数`roleId`的值是通过`#roleId#`引用的。然而,如果`roleId`是作为`Map`的一个键值对传递的,那么`parameterClass`应该被设置为`java.util.Map`。因此...

    ibatis技术总结

    ### ibatis技术总结 #### 1. 创建iBatis工程的步骤 在开始构建一个基于iBatis的应用之前,需要遵循一系列明确的步骤来确保项目的顺利进行: 1. **建立数据库**:首先需要设计并创建数据库,这一步骤至关重要,...

    Ibatis

    总结来说,Ibatis 是一个高效、灵活的 ORM(对象关系映射)框架,它让开发者能够更专注于业务逻辑,而不是繁琐的 JDBC 代码。通过学习 Ibatis,开发者可以更好地理解和掌握数据访问层的设计与实现,提升开发效率。...

    ibatis总结的小东西

    ibatis总结的小东西ibatis总结的小东西ibatis总结的小东西ibatis总结的小东西ibatis总结的小东西ibatis总结的小东西ibatis总结的小东西ibatis总结的小东西

    ibatis学习总结文档

    本文档旨在对iBATIS的学习进行深入的总结,帮助初学者快速上手。 一、iBATIS概述 iBATIS的核心理念是“SQL Map”,它将SQL与Java代码分离,通过XML配置文件或注解来定义SQL语句,实现了数据访问层的灵活定制。这...

Global site tag (gtag.js) - Google Analytics