如何知道上一篇的动态INSERT的话,动态UPDATE就很简单了,直接上XML
注意:如果<isNotEmpty>是写在一行的话,并且是第一个的话
<isNotEmpty property="realName" prepend=","><![CDATA[ REALNAME = #realName# ]]></isNotEmpty>
内容注意中间加个空格,不然会出现 update role setname=xxx 直接报错
<update id="updateRole" parameterClass="com.mmblue.model.Role">
<![CDATA[
UPDATE role
SET
gmt_modified = to_date(#gmtModified#,'yyyy-mm-dd hh24:mi:ss'),
modifier = #modifier#
]]>
<dynamic>
<isNotEmpty property="isDeleted" prepend=",">
<![CDATA[
is_deleted = #isDeleted#
]]>
</isNotEmpty>
<isNotEmpty property="roleCode" prepend=",">
<![CDATA[
role_code = #roleCode#
]]>
</isNotEmpty>
<isNotEmpty property="roleName" prepend=",">
<![CDATA[
role_name = #roleName#
]]>
</isNotEmpty>
<isNotEmpty property="deptId" prepend=",">
<![CDATA[
dept_id = #deptId#
]]>
</isNotEmpty>
</dynamic>
<![CDATA[
WHERE id = #id#
]]>
</update>
2.再来个全部遍历的
<update id="updateUser" parameterClass="com.mmblue.domain.User">
UPDATE MYIVR_TUSER
<dynamic prepend="SET ">
<isNotEmpty property="realName" prepend=","><![CDATA[ REALNAME = #realName# ]]></isNotEmpty>
<isNotEmpty property="password" prepend=","><![CDATA[ PASSWORD = #password# ]]></isNotEmpty>
<isNotEmpty property="projectId" prepend=","><![CDATA[ PROJECT_ID = #projectId# ]]></isNotEmpty>
<isNotEmpty property="isEable" prepend=","><![CDATA[ ISENABLE = #isEable# ]]></isNotEmpty>
<isNotEmpty property="createTime" prepend=","><![CDATA[ CREATETIME = #createTime# ]]></isNotEmpty>
<isNotEmpty property="name" prepend=","><![CDATA[ USERNAME = #name# ]]></isNotEmpty>
<isNotEmpty property="id" prepend=","><![CDATA[ USERID = #id# ]]></isNotEmpty>
<isNotEmpty property="isFirstLogin" prepend=","><![CDATA[ ISFIRSTLOGIN = #isFirstLogin# ]]></isNotEmpty>
</dynamic>
<dynamic prepend="WHERE">
USERID = #id#
</dynamic>
</update>
分享到:
相关推荐
开发指南 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: SQL Maps中的应用例子。这是一个Struts应用允许对一个关系表执行SELECT, INSERT, UPDATE和DELETE的SQL请求。在这个应用中,使用SQL Maps做持续性框架。现在我们要修改这个应用,将这个关系表储存...
在java的控制台中看到的sql日志通常是如下的样子, Preparing: SELECT in (0,1) ORDER BY i.UPDATE_DATE_TIME DESC 2019-01-18 10:12:52,566 [DEBUG](org.apache.ibatis.logging.log4j.Log4jImpl.debug(Log4jImpl....
使用ibatis 提供的ORM 机制,对业务逻辑实现人员而言,面对的是纯粹的Java 对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求...
Ibator seeks to make a major impact on the large percentage of database operations that are simple CRUD (Create, Retrieve, Update, Delete). You will still need to hand code SQL and objects for custom...
• Cache的key由haskcode、checksum、查询参数、sqlmap Id、sql语句、调用方法名等构成。由此可以看出,不同的参数会有不同的Key。注意,他不是以查询参数的Class的hashcode或 toString方法作为key的一部分,而是以...
generates IBatisNet SQL mapping file and a group of CSharp classes from a database table. ...SqlMap, the IBatis.NET SQL mapping file that contains SQL statements used in the DaoImpl above.
当不用持久层框架(ibatis,hibernate等)的时候,使用单纯的jdbc操作的时候,创建实体类,写基本的insert和update很烦人。还容易错。中午用午睡时间赶紧弄了个工具。使用起来很简单,只需要给数据库连接串和表名字就...
SQL Maps (com.ibatis.sqlmap.*)......................................................................................................5 SQL Map的概念........................................................
│ │ dynamic-sql.html │ │ findbugs.html │ │ getting-started.html │ │ index.html │ │ integration.html │ │ issue-tracking.html │ │ java-api.html │ │ jdepend-report.html │ │ license.html...
最明显的就是类似于LAST_UPDATE_TIME了,通常为了保证这个字段的一致性,通常在插入新记录时采用当前数据库时间作为字段值。但IBatisNet接收的实体类对象属性都是普通C#类型,并不具备传入表达式的能力。如果采用...
最明显的就是类似于LAST_UPDATE_TIME了,通常为了保证这个字段的一致性,通常在插入新记录时采用当前数据库时间作为字段值。但IBatisNet接收的实体类对象属性都是普通C#类型,并不具备传入表达式的能力。如果采用...
3.6 UPDATE语句 3.7 DELETE语句 3.8 本章小结 第4章 PL/SQL 4.1 PL/SQL简介 4.2 PL/SQL基础 4.3 本章小结 第二篇 JDBC篇 第5章 JDBC技术基础 5.1 JDBC概述 5.2 JDBC API 5.3 JDBC操作数据库 ...
MBG seeks to make a major impact on the large percentage of database operations that are simple CRUD (Create, Retrieve, Update, Delete). You will still need to hand code SQL and objects for join ...
内含mysql 和 oracle 理论上sqlserver也是可以使用的,笔者亲测,非常好用,不会生成多余代码,求点赞 使用方法:右键mybatis-generator-mysql.xml 或者mybatis-generator.xml文件 分别对应mysql和oracle Generator ...
最明显的就是类似于LAST_UPDATE_TIME了,通常为了保证这个字段的一致性,通常在插入新记录时采用当前数据库时间作为字段值。但IBatisNet接收的实体类对象属性都是普通C#类型,并不具备传入表达式的能力。如果采用...
mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in action之九mybatis 代码生成工具的使用 mybatis SqlSessionDaoSupport的使用附代码下载 转自:...
11.4.3. SqlUpdate类 11.4.4. StoredProcedure类 11.4.5. SqlFunction类 12. 使用ORM工具进行数据访问 12.1. 简介 12.2. Hibernate 12.2.1. 资源管理 12.2.2. 在Spring的application context中创建 SessionFactory ...
光 light是一种用于从go源文件中生成数据库查询代码的工具,该工具具有使用SQL和Variables注释的接口方法。 Interface methods commented with SQL and variables => go generate => Database query code ...
如果你觉得hibernate,ibatis等orm框架过于笨重,不烦试下jdao,它可以在团队开发中规范团队持久层代码,较少开发量,特别在单表操作上基本是对象操作,对于复杂SQL查询也有较好的封装。一、使用DAO方式操作数据:...