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. flutter无线调试与打包

    1.WIFI连接设备 设备打开开发者选项 -> 点击WIFI调试 ->  项目目录下输入终端命令: adb connect   设备ip地址:[端口号(一般是5555)] 2.apk打包 ...

  2. 独家解读 etcd 3.4版本 |云原生生态周报 Vol. 18

    作者 | 酒祝.墨封.宇慕.衷源 关注"阿里巴巴云原生"公众号,回复关键词 "资料" ,即可获得 2019 全年 meetup 活动 PPT 合集及 K8s 最 ...

  3. cogs1709. [SPOJ 705] 不同的子串(后缀数组

    http://cogs.pro:8080/cogs/problem/problem.php?pid=vyziQkWaP 题意:给定一个字符串,计算其不同的子串个数. 思路:ans=总共子串个数-相同的 ...

  4. D-query

    SPOJ - DQUERY 题意 求区间内出现一共有几种数字. 上次写了一个主席树,这次用一下莫队,莫队是离线询问的一种操作,将询问分块,如果在同一个块内就按照右端点排序,如果不在同一个块内就按照块的 ...

  5. CodeForces 590C Three States BFS

    Three Statesy 题解: 以3个大陆为起点,都dfs一遍,求出该大陆到其他点的最小距离是多少, 然后枚举每个点作为3个大陆的路径交点. 代码: #include<bits/stdc++ ...

  6. 【原创】(三)Linux paging_init解析

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...

  7. Docker版本与centos和ubuntu环境下docker安装介绍

    # Docker版本与安装介绍 * Docker-CE 和 Docker-EE * Centos 上安装 Docker-CE * Ubuntu 上安装 Docker-CE ## Docker-CE和D ...

  8. 剑指offer】Java版代码(完整版)

    转自:剑指offer]Java版代码(完整版) 转自:[剑指offer] JAVA版题解(完整版)

  9. iOS代码混淆

    混淆原理 代码编译阶段将符号(方法名.属性名等)替换成随机生成的字符串 长话短说,直接上步骤. 混淆集成步骤 步骤一.创建shell文件(confuse.sh)并配置相应的运行环境. 在项目根目录下新 ...

  10. SpringBoot自定义过滤器的两种方式及过滤器执行顺序

    第一种 @WebFilter + @ServletComponentScan 注解 1.首先自定义过滤器 如下自定义过滤器 ReqResFilter 必须实现  javax.servlet.Filte ...