0 0

ibatis动态更新字段5

public class User {
	private String id;
	private String username;
	private String password;
         //省略get/set
}


XML配置文件
  	<update id="updateUser" parameterClass="user">
		update user set username=#username#,password=#password# where id=#id#
	</update>


我想做的是如果User里面的password是null,那么update语句中password=#password#就省去。在百度,Google实在找不到这方面的资料了。麻烦大虾们了
2008年6月10日 11:47

1个答案 按时间排序 按投票排序

0 0

采纳的答案

<update id="updateUser" parameterClass="user">  
     update user 
      <dynamic prepend="set">
          <isNotNull prepend="," property="username">          
               username=#username#
           </isNotNull>
          <isNotNull prepend="," property="password">          
               password=#password#
           </isNotNull>
      </dynamic>
     where id=#id#  
</update> 



建议多看看文档,里面都有

2008年6月10日 17:13

相关推荐

    解决IBatis缓存动态字段问题

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

    ibatis动态SQL标签用法

    iBatis动态SQL标签用法 iBatis是Java持久层框架,提供了动态SQL标签来实现动态查询。动态SQL标签可以根据不同的条件生成不同的SQL语句,从而提高查询效率和灵活性。 动态SQL片段 iBatis提供了动态SQL片段的功能,...

    ibatis UPDATE 动态XML与insert

    标题 "ibatis UPDATE 动态XML与insert" 涉及到的是MyBatis框架中对数据库数据进行更新(UPDATE)和插入(INSERT)操作的动态XML配置方式。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,...

    ibatis 动态代理dtd

    此示例展示了如何使用`&lt;dynamic&gt;`元素结合`&lt;isNotNull&gt;`和`&lt;isNotEqual&gt;`元素来动态生成SET子句,只更新非空且满足特定条件的字段。 通过上述分析可以看出,ibatis的动态SQL功能非常强大,能够极大地提高开发效率并...

    ibatis常用sql语句

    iBATIS的核心功能在于其强大的SQL映射能力和动态SQL生成机制,这使得开发人员能够灵活地处理复杂的数据库交互需求。 ### 输入参数为单个值 在iBATIS中,当输入参数为单个值时,如示例中的`long`类型,可以使用`...

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

    在`org.apache.ibatis.executor.resultset.ResultSetHandler`中,ResultMap被用来定义字段与Java对象属性的映射关系。ResultMap不仅支持简单的列名映射,还能处理复杂的一对多、一对一关系映射。 六、...

    ibatis教程,ibatis帮助文档

    但当涉及数据库字段的修改,Hibernate的改动通常较少,iBATIS则需要修改SQL Mapping。 3. 细粒度优化:iBATIS允许开发者进行更细致的SQL优化,例如针对特定场景编写高效的更新或查询语句。 4. 维护性:由于iBATIS的...

    Ibatis入门例子,Ibatis教程

    实际上,Ibatis还支持动态SQL、结果映射、参数映射等多种高级特性,可以实现更复杂的业务逻辑。例如,你可以通过使用`&lt;if&gt;`、`&lt;choose&gt;`等标签来编写条件语句,通过`&lt;resultMap&gt;`来定义复杂的对象关系映射。 学习...

    IBatis .NET框架实例

    4. **参数映射**: IBatis支持动态参数,可以使用占位符(?)或参数名称(@paramName)来绑定输入值。 5. **结果集映射**: 映射查询结果到对象,可以是单个对象或集合。 **四、Person实体类与映射文件** 在示例中,...

    ibatis中iterate的例子

    在iBatis中,`&lt;iterate&gt;`标签是一个非常实用的功能,它允许我们处理集合数据,如数组、List或Map等,进行循环遍历并生成动态SQL语句。下面我们将详细探讨`&lt;iterate&gt;`标签的用法及其示例。 `&lt;iterate&gt;`标签的主要...

    ibatis入门

    在 `select` 标签中,你可以使用 `&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;` 和 `&lt;where&gt;` 等标签来构建动态 SQL,根据传入参数的不同组合生成不同的 SQL 语句。 5. **单对象查询** 当需要查询单个对象时,可以...

    ibatis用xml配置文件配置使用

    7. **动态SQL**:iBATIS提供强大的动态SQL功能,例如`&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`, `&lt;where&gt;`, `&lt;set&gt;`等标签,可以根据条件动态生成SQL。这使得你的映射文件更加灵活,减少了代码重复。 通过上述...

    ibatis 用HashMap解决resultClass映射

    通过上述介绍,我们可以看到使用 `HashMap` 解决 ibatis 中的动态列名和列数的问题是一种非常实用的方法。它不仅避免了为每种情况创建实体类的繁琐工作,还提高了代码的灵活性和可维护性。希望本文能够帮助你在实际...

    ibatis基础教学文档

    2. 细粒度优化:iBATIS允许对SQL进行更细致的优化,如直接指定更新单个字段的语句,或选择性地获取表的部分内容。 3. 可维护性:由于SQL保存在单独的文件中,iBATIS的可维护性优于Hibernate,后者有时会在Java代码中...

    ibatis小例子Demo

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将注意力集中在编写动态的SQL上,而无需关注JDBC代码的繁琐细节。这个"ibatis小例子Demo"是为了帮助初学者快速理解和掌握...

    ibatis2.0中文API

    同时,对于复杂的业务场景,iBATIS支持动态SQL,使得在映射文件中可以编写条件语句,根据对象状态动态生成执行的SQL片段。 最后,iBATIS 2.0的核心API主要包括SqlMapConfig.xml配置文件、SqlMapClient接口及其实现...

    ibatis生成实体工具

    SQL映射文件用于定义SQL查询、更新等操作,而实体类则用于存储数据库中的记录数据。这种方式虽然灵活,但当面对大量的表和字段时,手动编写这些代码会变得非常耗时。 这个生成工具的核心功能就是自动生成这些Java...

    iBatis文档\ibatis.doc

    在XML映射文件中,你可以定义`resultMap`来描述字段与对象属性之间的对应关系。 ### iBatis 高级特性 #### 数据关联 iBatis支持复杂的数据关联,包括一对多、一对一关联。通过`collection`和`association`元素,你...

    iBATIS 模板

    iBATIS的动态SQL功能允许在XML映射文件中编写条件语句,使得SQL语句可以根据运行时的参数动态改变。这极大地增强了SQL的灵活性和可维护性。 8. **缓存机制** iBATIS提供了本地缓存和二级缓存机制,可以提高数据...

    ibatis plugin用户指南

    4. **SQL语句自动完成**:在编写SQL语句时,插件能自动提示表名和字段名。记得先按Space键,再使用Ctrl+Space快捷键触发提示。 5. **自动生成select语句**:在标签处,按Alt+Enter选择Generate result for ...

Global site tag (gtag.js) - Google Analytics