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. Python 内存分配时的小秘密

    Python 中的sys 模块极为基础而重要,它主要提供了一些给解释器使用(或由它维护)的变量,以及一些与解释器强交互的函数. 本文将会频繁地使用该模块的getsizeof() 方法,因此,我先简要介 ...

  2. MSIL实用指南-生成while语句

    本篇讲解怎样生成while语句.while语句是编程语言中很重要的循环语句,它的结构是while(<表达式>) <语句或语句块> 当表达式的结果为true时就一直执行语句或语句 ...

  3. 一看就懂-Docker容器化

    一.Docker简介 1.1 什么是docker docker的英文意思是 码头工人,意思就是搬运东西的意思,其实这和docker的特点是一样的,docker提供的就是一种容器化搬运东西(我们的软件. ...

  4. Hadoop3.1.2 + Hbase2.2.0 设置lzo压缩算法

    Hadoop3.1.2 + Hbase2.2.0 设置lzo压缩算法: 写在前面,在配置hbase使用lzo算法时,在网上搜了很多文章,一般都是比较老的文章,一是版本低,二是一般都是使用hadoop- ...

  5. 51NOD 大数加法以及python写法

    练练 大数加法一般为小学生式的"竖式计算"要特别注意的是借位与进位的问题(先给看c++写法,我怕先看了python写法,会看不下去c++写法)这题还有要注意的是 1.同符号的话,直 ...

  6. spring组件注册

    基于注解和类的组件注册 @Conditional 作用:按照一定的条件进行判断,如果满足条件的话就给spring容器中注册bean ​ 该注解既可以标注到方法上面,也可以标注到类上面(只有满足条件时, ...

  7. 关于BFC的一些事

    BFC的生成 在实现CSS的布局时,假设我们不知道BFC的话,很多地方我们生成了BFC但是不知道.在布局中,一个元素是block元素还是inline元素是必须要知道的.而BFC就是用来格式化块状元素盒 ...

  8. 【LeetCode】17-电话号码的字母组合

    题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出: ...

  9. Django与mongodb数据库的连接

    1.最开始需要下载一个第三方模块:mongoengine 2.下载完成之后,需要在settings中完成配置(在DATABASES后面,别问我为什么,问了我也不告诉你...) connect中传入的是 ...

  10. Webdriver元素定位的方法

    webdriver提供了8种元素定位方法: 1.id 2.name 3.tag name 4.class name 5.link text 6.partial link text 7.xpath 8. ...