mybatis xml的无效判空
<insert id="insert">
<if test="xxxMappingEntityList != null and xxxMappingEntityList.size() > 0">
INSERT IGNORE INTO
`xxx_mapping` (
`A_id`,
`B_id`,
`create_time`,
`update_time`
) VALUES
<foreach collection="xxxMappingEntityList" item="xxxMappingEntity"
separator="," open="" close="">
(
#{xxxMappingEntity.AId},
#{xxxMappingEntity.BId},
now(),
now()
)
</foreach>
</if>
</insert>
int insert(@Param("xxxMappingEntityList") List<xxxMappingEntity> xxxMappingEntityList);
这个如果插入的是null 会出错
### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
### The error may involve defaultParameterMap
### The error occurred while setting parameters
...
"insert 出错云云..."
so, 判空<if test="xxxMappingEntityList != null and xxxMappingEntityList.size() > 0"> 这个是没意义的,
CollectionUtils.isEmpty(xxxMappingEntityList) 这个逻辑放在 xxxDao.insert的前面就好了
mybatis xml的无效判空的更多相关文章
- java 对象是可以判空的
比如这里存xml,这里判断了一下element是否为空,来避免空指针异常,推荐用guava的optional判空
- 在Java中如何优雅地判空
判空灾难 作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢NullPointerException. 不过NullPointerException对于很多猿们来 ...
- Java-MyBatis:MyBatis XML 文件
ylbtech-Java-MyBatis:MyBatis XML 文件 1.返回顶部 1. Mapper XML 文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大, ...
- MyBatis从入门到精通(2):MyBatis XML方式的基本用法
本章将通过完成权限管理的常见业务来学习 MyBatis XML方式的基本用法 2.1一个简单的权限控制需求 权限管理的需求: 一个用户拥有若干角色,一个角色拥有若干权限,权限就是对某个模块资源的某种操 ...
- Mybatis xml mapper 特殊写法总结
项目告一段落,业务代码也写得差不多了,框架仍然用的是 ssm ,为了省去单表数据库操作的代码编写,继续用 mybatis generator 生成单表对应的实体类.dao层映射关联及配置文件,私下还尝 ...
- java中判空
一.概述 java中判等似乎很简单,==用来判断对象引用(内存地址)是否相同,equals用来判断值是否相同.你可以试用String对象轻松区分这一点. 那么在null判等(也就是判空操作)时呢? 可 ...
- JSTL: empty 可以减少很多繁冗的判空(转)
${empty student.name }Empty是判空为空返回的真不为空返回的是假 ${(empty student.name)? '空' : '非空'} <c:if test=" ...
- mybatis xml配置文件要点说明
mapper映射方式: 1 一一具体列举的方式 2扫描package 如: <mappers> <!-- 告知映射文件方式1,一个一个的配置 <mapper resource= ...
- StringUtils工具类常用方法汇总1(判空、转换、移除、替换、反转)
Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方 ...
随机推荐
- Your personal Mail Server iRedMail on ubuntu14.04 x64
what we have? iRedMail -> http://iredmail.com Get the script over there. http://www.ired ...
- tmux tutorial
This is a great tutorial about tmux quick start: http://www.youtube.com/watch?v=wKEGA8oEWXw&nore ...
- gettimeofday(struct timeval *tv, struct timezone *tz)函数
gettimeofday(struct timeval *tv, struct timezone *tz)函数 功能:获取当前精确时间(Unix时间) 其中: timeval为时间 truct tim ...
- CI Weekly #11 | 微服务场景下的自动化测试与持续部署
又一周过去了,最近我们的工程师正在搞一个"大事情" --「[flow.ci](http://flow.ci/?utm_source=bokeyuan&utm_medium= ...
- OC之方法的声明实现和调用
1. 类是来描述一群具有相同特征和行为的事物的. 类还有行为. 类的声明 @interface 类名 : NSObject { 属性. } 方法的声明 @end 类的实现. @implementati ...
- Angular2中的Service并不是单例模式
2015年做了一个使用angularjs 1框架的项目,2016年伊始公司的项目转为使用Angular2框架. 在开发过程中发现了一个坑,这个坑就是在Angular JS 1.x中的Service是单 ...
- jquery中当CheckBoxList被选中时提示
$(function(){ $('input:checkbox').on('change', function(){ //当复选框选中时出现提示 if($('input:checkbox:checke ...
- 基于PaaS和SaaS研发的商业云平台实战 转 (今后所有的IT行业会持续集成,往虚拟化方向更快更深的发展,商业化才是这些技术的最终目的)
背景介绍 SaaS.PaaS.IaaS等云服务模式已经被大家普遍认可,在研发过程中借力一些PaaS和SaaS平台,能够提升产品的研发速度和功能稳定程度.本文将通过真实的商业平台案例-MaxWon研发实 ...
- Grant简介以及安装
Grant简介以及安装 1. 安装Grunt-cli需要使用npm,全局安装 命令:npm install –g grunt-cli(可能会涉及权限问题) 注意,安装grunt-cli并不等于安 ...
- Normalize.css 样式作用,及使用方法
Normalize.css 是? Normalize.css 是一个可以定制的CSS文件,它让不同的浏览器在渲染网页元素的时候形式更统一. Normalize.css 能干什么? 保留有用的默认值,不 ...