mybatis:

<set>
<if test="obj.buyerId != null">
buyerId = #{obj.buyerId},
</if>
<if test="obj.country != null and obj.country.length() > 0">
country = #{obj.country},
</if>
<if test="obj.province != null and obj.province.length() > 0">
province = #{province},
</if>
<if test="obj.city != null and obj.city.length() > 0">
city = #{obj.city},
</if>
<if test="obj.district != null and obj.district.length() > 0">
district = #{obj.district},
</if>
<if test="obj.detailAddress != null and obj.detailAddress.length() > 0">
detail_address = #{obj.detailAddress},
</if>
<if test="obj.country != null and obj.country.length() > 0">
country = #{obj.country},
</if>
<if test="obj.isDefault != null and obj.isDefault.length() > 0">
isDefault = #{obj.isDefault}
</if>
</set>

ibatis:

<dynamic prepend="SET">
<isNotEmpty prepend="," property="obj.name">
name = #obj.name#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.nick">
nick = #obj.nick#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.lastLoginDate">
last_login_date = #obj.lastLoginDate#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.weixinUnionId">
weixin_union_id = #obj.weixinUnionId#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.email">
email = #obj.email#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.qq">
qq = #obj.qq#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.weixinOpenId">
weixin_open_id = #obj.weixinOpenId#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.weixinId">
weixin_id = #obj.weixinId#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.sessionKey">
session_key = #obj.sessionKey#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.mobile">
mobile = #obj.mobile#
</isNotEmpty>
<isNotNull prepend="," property="obj.sex">
sex = #obj.sex#
</isNotNull>
<isNotEmpty prepend="," property="obj.avatar">
avatar = #obj.avatar#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.sellerId">
seller_id = #obj.sellerId#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.shopId">
shop_id = #obj.shopId#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.mpId">
mp_id = #obj.mpId#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.city">
city = #obj.city#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.province">
province = #obj.province#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.language">
language = #obj.language#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.country">
country = #obj.country#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.phoneNumber">
phone_number = #obj.phoneNumber#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.countryCode">
country_code = #obj.countryCode#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.memberType">
member_type = #obj.memberType#
</isNotEmpty>
<isNotEmpty prepend="," property="obj.remark">
remark = #obj.remark#
</isNotEmpty>
</dynamic>

动态set mybatis与ibatis的写法的更多相关文章

  1. 动态insert mybatis与ibatis

    mybatis: <insert id="insert" parameterType="hashMap"> INSERT INTO item < ...

  2. 开源顶级持久层框架——mybatis(ibatis)——day01

    mybatis-day01     1.对原生态jdbc程序中的问题总结         1.1环境             java环境:jdk             eclipse:indigo ...

  3. mybatis、ibatis 和spring集成

    mybatis是ibatis的升级版,spring也有自带mybatis的orm.所以,搭建ibatis的框架也会有多种方式(我这里mybatis是3.0的,ibatis是2.3的,spring是3. ...

  4. mybatis和ibatis区别

     ibatis本是apache的一个开源项目,2010年这个项目由apache software foundation 迁移到了google code,并且改名为mybatis.  1.Mybat ...

  5. Mybatis与Ibatis的区别

    Mybatis与Ibatis的区别: 1.Mybatis实现了接口绑定,使用更加方便 在ibatis2.x中我们需要在DAO的实现类中指定具体对应哪个xml映射文件, 而Mybatis实现了DAO接口 ...

  6. MyBatis 与Ibatis 区别

    Ibatis 是 Mybatis 的前身,两者都是优秀的持久层框架. 区别: 1.mybatis 实现接口绑定,不需要具体接口实现类.但是需要在xml文件中 的 namespace 绑定具体的接口. ...

  7. JavaORM框架之Mybatis篇(Ibatis)

    欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝 ...

  8. 关于MyBatis的两种写法

    刚接触MyBatis是在Jike的视频中学习的,但是之后又发现和项目中的MyBatis的用法不太一致.上网找了好多资料,发现网上的教程分为两种写法: 第一种,是jike视频中的写法,写好map.xml ...

  9. Mybatis与Ibatis比较

    随着开发团队转投Google Code旗下,ibatis3.x正式更名为Mybatis  虽然从正式版发布至今也有近一年时间,官方也非常友好的提供了中文版的使用手册,不过相信很多人还在项目中使用iba ...

随机推荐

  1. MSIL实用指南-创建对象

    创建对象用Newobj指令,它的操作是创建一个新的对象或值类型,并将对象引用的新实例到计算堆栈上.格式是Newobj <构造函数>实例: ilGenerator.Emit(OpCodes. ...

  2. Docker资源管理

    一台宿主机可以放多个容器,默认的情况下,Docker 没有对容器进行硬件资源的限制,当容器负载过高时会尽可能的占用宿主机资源,所以有时候我们需要对容器的资源使用设置一个上限,今天我们就来看看如何管理 ...

  3. Oracle - 获取当前周别函数

    CREATE OR REPLACE FUNCTION GET_WEEK (V_RQ in DATE) return varchar2 as str varchar2(); str1 varchar2( ...

  4. zabbix设置钉钉报警

    1 添加机器人 在钉钉群里面添加一个机器人 会获取到一个URL: 'https://oapi.dingtalk.com/robot/send?access_token=62be1ea97b4653b8 ...

  5. map()函数映射

    map()函数(映射) pattern = "abba" str = "dog cat cat dog" res=str.split() print(list( ...

  6. c# webapi结合swagger的使用

    一.使用nuget下载swagger包 Install-Package Swashbuckle 二.配置swagger 1. 安装完Swashbuckle后,nuget会将相关引用添加至WebApi项 ...

  7. SCRUM的五个价值观

    转自:http://www.scrumcn.com/agile/scrum-knowledge-library/scrum.html#tab-id-8 承诺 – 愿意对目标做出承诺 专注– 把你的心思 ...

  8. [Error] - Windows卸载程序时,提示错误2503

    1. 打开“任务管理器” 2. 切换到“详细信息”标签页,找到explorer.exe文件,并结束它. 3. 点击“任务管理器”上的文件->运行新任务,输入explorer.ext,勾选“以系统 ...

  9. Atcoder/Topcoder 口胡记录

    Atcoder/Topcoder 理论 AC Atcoder的❌游戏示范 兴致勃勃地打开一场 AGC 看 A 题,先 WA 一发,然后花了一年时间 Fix. 看 B 题,啥玩意?这能求? 睡觉觉. e ...

  10. 2019 Multi-University Training Contest 4

    A. AND Minimum Spanning Tree solved by rdc 21min -1 数组开小了,解体了一次. 题意 给一棵树,两点之间边权为 x & y,求最小生成树. 做 ...