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. LeetCode刷题 - (01)两数之和

    题目描述 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元 ...

  2. Date与String之间相互转换

    项目中经常用到,Date类型与String类型的转换,所以写个工具类 直接贴代码: package com.elite.isun.utils; import java.text.ParseExcept ...

  3. D-Distance_2019牛客暑期多校训练营(第八场)

    题目链接 Distance 题意 1<=nmh,q<=1e5 q个操作 1 x y z往坐标里加入一个点 2 x y z查询距离该点最近的点的距离(曼哈顿距离) 题解 做法一 将要插入的点 ...

  4. 对git使用的初步总结

    使用git也才一周多,就已经深深爱上这款软件了. 之前公司一直用的是clearcase,一款老到除了公司内部的人和曾经开发这款软件的人,估计再也不会有人知道了吧! (当然也许还会有其他公司也会使用,因 ...

  5. java 自动生成四则运算式

    本篇文章将要介绍一个“自动生成四则运算式”的java程序,在没有阅读<构建之法>之前,我已经通过一个类的形式实现了要求的功能,但是当阅读完成<构建之法>之后,我意识到自己所写程 ...

  6. CSS3 01. CSS3现状、属性选择器、伪类选择器、结构伪类、伪元素选择器、颜色、文本阴影shadow、盒子模型、私有化前缀

    CSS 3 现状 兼容性差,需添加私有前缀/移动端优于PC端/不断改进中/渐进增强原则/考虑用户群体/遵照产品的方案 : CSS3手册 需要阅读其--阅读及使用指引 []表示全部的可选项 || 或者 ...

  7. 2019本科se第一次作业-博客初体验-chris

    (1)第一章  计算机专业术语总结: 软件=程序+软件工程.程序=数据结构+算法.软件.程序.用户.需求.应用程序.软件服务.源程序.软件架构(Software Architecture).软件设计与 ...

  8. Vue 前端uni-app多环境配置部署服务器的问题

    目录 前端Vue 针对问题 package.json描述 多环境部署 查看源码获取解决方案 转载请标明出处: http://dujinyang.blog.csdn.net/ 本文出自:[奥特曼超人的博 ...

  9. 关于ArrayList源码

    一.构造方法 private static final int DEFAULT_CAPACITY = 10; //空参的构造方法,初始化数组长度为默认值,默认值为10 public ArrayList ...

  10. 深入浅出Mysql索引的那些事儿

    文章来源:公众号:猿人谷 一.索引的作用 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优 ...