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 ...
随机推荐
- 5.Qt模块简介
Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改.Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中.Qt 4 也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化.本节 ...
- intval floatval
intval -- 获取变量的整数值 floatval -- 获取变量的浮点值 <?php $a = ; $b = ; $a/=$b; echo intval($a); echo floatva ...
- Chapter One:数据结构和算法-解压序列赋值给多个变量
一.问题: 现在有一个包含 N 个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给 N 个变量? 二.解决方案: 代码示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...
- day8 java基础细节回顾
java之父——James Gosling java吉祥物——duke 编译: 源文件(.java文件)-->java编译器==>.class文件 运行:类装载器-->字节码校验器- ...
- 科学计算三维可视化---Mlab基础(常用控制函数)
- 如何给list清空
1.list = new ArrayList<String>(): 2.list.clear(); 3.list=null;
- BFS:八数码问题
#include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> ...
- react-music React全家桶项目,精品之作!
React-Music 全家桶项目,精品之作! 一.简介 该项目是基于React全家桶开发的一个音乐播放器,技术栈采用:Webpack + React + React-redux + React-ro ...
- #Fixed# easy-animation | Animation for Sass
原文链接:http://www.cnblogs.com/maplejan/p/3659830.html 主要修复3.4版本后变量作用域的问题. 代码如下: /* easy-animation.scss ...
- 分享自己新做的vim colorscheme
把下面的内容保存成darkslategrey.vim,放入~/.vim/colors目录即可. " Vim color file " Maintainer: jiqing() &q ...