MyBatis的动态插入语句(经常报‘无效的列类型’)
最近在工作中经常遇到一个情况:通过mybatis的标签执行插入语句,当表中字段比较多的时候,需要全部插入,而有时候的需求是只插入其中几个字段,但是会报错。
原来的语句,必须把所有字段都Set值。
<insert id="insertSettlement" parameterType="com.entity.system.settlement.Settlement">
insert into B2B_SETTLEMENT (
ID,
Deptid,
Statement_Date,
Billamount,
Ticketidlist,
Billinterest,
Totalbill,
Operatetype,
Billstatus,
Creatorid,
Create_Date,
Auditstatus,
Isonline
)
values (
#{id},
#{deptId},
#{statementDate},
#{billAmount},
#{ticketIdList},
#{billInterest},
#{totalbill},
#{operateType},
#{billStatus},
#{creatorId},
sysdate,
#{auditStatus},
#{isOnline}
)
</insert>
加上标签,不用每次把所有值都弄满。
<insert id="insert" parameterType="com.entity.tcwechat.otms.BaseBinding">
INSERT INTO BASE_BINDING
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="hc != null">
HC,
</if>
<if test="cfcity != null">
CFCITY,
</if>
<if test="ddcity != null">
DDCITY,
</if>
<if test="hbh != null">
HBH,
</if>
<if test="cw != null">
CW,
</if>
<if test="cfdate != null">
CFDATE,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="hc != null">
#{hc},
</if>
<if test="cfcity != null">
#{cfcity},
</if>
<if test="ddcity != null">
#{ddcity},
</if>
<if test="hbh != null">
#{hbh},
</if>
<if test="cw != null">
#{cw},
</if>
<if test="cfdate != null">
#{cfdate},
</if>
</trim>
</insert>
小结
工作记录,下次遇到可以用!
MyBatis的动态插入语句(经常报‘无效的列类型’)的更多相关文章
- FMDB处理动态插入语句
昨天做一个需求,参数的数量不确定,所以无法使用这个API: - (BOOL)executeUpdate:(NSString*)sql, ... 但是用 - (BOOL)executeUpdate:(N ...
- MyBatis中动态SQL语句完成多条件查询
一看这标题,我都感觉到是mybatis在动态SQL语句中的多条件查询是多么的强大,不仅让我们用SQL语句完成了对数据库的操作:还通过一些条件选择语句让我们SQL的多条件.动态查询更加容易.简洁.直观. ...
- Mybatis中动态SQL语句中的parameterType不同数据类型的用法
Mybatis中动态SQL语句中的parameterType不同数据类型的用法1. 简单数据类型, 此时#{id,jdbcType=INTEGER}中id可以取任意名字如#{a,jdbcType ...
- mybatis 的动态sql语句是基于OGNL表达式的。
mybatis 的动态sql语句是基于OGNL表达式的.可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类:1. if 语句 (简单的条件判断)2. c ...
- [转]Mybatis出现:无效的列类型: 1111 错误
原文地址:http://www.cnblogs.com/sdjnzqr/p/4304874.html 在使用Mybatis时,不同的xml配置文件,有的会提示:无效的列类型: 1111 比如这个sql ...
- Mybatis出现:无效的列类型: 1111 错误
在使用Mybatis时,不同的xml配置文件,有的会提示:无效的列类型: 1111 比如这个sql: update base.sys_person t set t.rybh=#{rybh},t.xm= ...
- mybatis出现无效的列类型
package com.webapp.hanqi.test; import java.util.Date; import org.junit.jupiter.api.AfterEach; import ...
- Mybatis:使用bean传值,当传入值为Null时,提示“无效的列类型”的解决办法
问题描述:在使用mybatis对数据库执行更新操作时,parameterType为某个具体的bean,而bean中传入的参数为null时,抛出异常如下:org.mybatis.spring.MyBat ...
- 操作MyBatis引发Error setting null for parameter #X with JdbcType OTHER .无效的列类型
再用MyBatis操作Oracle的时候,传入null值而引发的错误 异常信息: org.springframework.jdbc.UncategorizedSQLException: Error s ...
随机推荐
- HAOI2018游记
前言 很懒. 太懒了. 不仅懒得写题..连游记都懒得写.. 花点时间填一下坑吧..不过话说我去年的NOI/APIO/CTSC游记也没写.. 省选前 板子好像一早就打完了,没什么可干的. 也不愿意开新题 ...
- ROI align解释
转自:blog.leanote.com/post/afanti.deng@gmail.com/b5f4f526490b ROI Align 是在Mask-RCNN这篇论文里提出的一种区域特征聚集方式, ...
- python中的文件操作
文件操作时,有'r','w','a'不同的操作类型,其中'r'只能读文件,seek(),tell()函数定位读的起始地方.'w'会清空文件内容然后写文件,seek(),tell()函数定位写的起始地方 ...
- KVM管理概述
一.使用QEMU管理虚拟机 1.KVM指南 https://activedoc.opensuse.org/book/opensuse-virtualization-with-kvm/part-iii- ...
- N制和PAL制区别
- codevs 1540 1540 银河英雄传说
1540 银河英雄传说 题目描述 Description 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银 ...
- Java并发编程原理与实战八:产生线程安全性问题原因(javap字节码分析)
前面我们说到多线程带来的风险,其中一个很重要的就是安全性,因为其重要性因此,放到本章来进行讲解,那么线程安全性问题产生的原因,我们这节将从底层字节码来进行分析. 一.问题引出 先看一段代码 packa ...
- 有用的JavaScript开发小建议
这篇文章将向你分享一些不为人知的但很有用的JavaScript小建议,对那些刚涉及使用JavaScript编程语言的初级开发者应该有很大的帮助. 1. 用数组长度截取数组 我们都知道,对象都是通过使用 ...
- 精心整理的十个必须要知道CSS+DIV技巧
1.css font的简写规则 当我们写字体样式的时候,我们也许会这样子写 font-size: 1em; line-height: 1.5em; font-weight: bold; font-s ...
- hdu 1253 胜利大逃亡 (广搜)
题目链接 Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个ABC的立方体,可以被表示成A个 ...