MyBatis3传递空值参数报异常的解决

在使用Mybatis 3时,发现了这个问题,当插入数据时,如果有一个字段为空值时,系统会报异常,导致插入数据失败。异常信息类似:org.springframework.jdbc.UncategorizedSQLException:Error setting null forparameter #9 with JdbcType OTHER . Try setting adifferent JdbcType for this parameter or a differentjdbcTypeForNull configurationproperty.

解决:

1在SQL语句中使用#{name,jdbcType=VARCHAR} 指定JDBC类型;

2在配置文件指定jdbcTypeForNull=NULL(Oracle数据库);推荐使用;

时间: 2024-07-31 08:04:42

MyBatis3传递空值参数报异常的解决的相关文章

jQuery 之 setTimeout 传递字符串参数报错

当你打算调用一些jQuery代码显示隐藏的一个元素,并调用setTimeout()在一段延时之后设置其HTML的内容: 整个页面的代码是这样的. <span style="font-size:18px;"><html> <head> <title></title> </head> <body> <a href="#" id='heihei' onclick="show

单元测试时候使用[ClassInitialize]会该方法必须是静态的公共方法,不返回值并且应采用一个TestContext类型的参数报错的解决办法

using Microsoft.VisualStudio.TestTools.UnitTesting; 如果该DLL应用的是 C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 版本为9.0.0.0 的话,则使用[ClassInitialize]会该方法必须是静态的公共方法,不返回值并且

JS传递中文参数出现乱码的解决办法

一.window.open() 乱码: JS中使用window.open("url?param="+paramvalue)传递参数出现乱码,提交的时候,客户端浏览器URL中显示参数是正确的, 但是传到了服务器端是是乱码.这种情况下需要在客户端对该参数进行编码,然后在服务器端解码即可. 1.JS客户端编码: var selStr=document.getElementsByName('selStr')[0].value; selStr=encodeURI(encodeURI(selStr

关于tomcat对编码不正确的url参数报错的解决

按照规范,url参数必须使用限定字符,其它字符需要进行编码,用像js的encodeurlcomponent函数. 在IE和360浏览器的兼容模式,不会自动对url的参数进行编码,会导致tomcat报错. 对浏览器参数进行编码就解决了问题. Stack Overflow上有问到这个,但是解答不正确,点支持的很少. 百度搜索结果也有提到,说要在nginx对请求进行编码. 原文地址:https://www.cnblogs.com/silvestris/p/12038063.html

JS中setInterval、setTimeout不能传递带参数的函数的解决方法

setInterval 和 setTimeout 这两个函数比较好用,但会遇到比如说我隔个几秒后要执行的函数是带参数的,这种情况怎么办?可以用匿名函数包装处理 //不带参数的函数 function test(){} setTimeout(test,1000) //带参数的函数,用匿名函数包装(可以实现动态传参) function onemodelanima(o, tobestatus, time, easing, origin){ if(easing == null){ easing = "&q

nethogs命令执行报异常的解决方法

nethogs: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by nethogs)nethogs: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by nethogs)

url 传递中文参数乱码问题的终极解决方法。

估计很多人在做web开发的时候,都会碰到过url传递中文参数,有时候会出现乱码的问题,但有些项目或者环境,又不会有问题.当遇到乱码的时候,上网找了很多解决方案,比如: 页面设置它的编码方式,改成utf-8 或者gb2312. encodeURI(url),也有人说要2个encodeURI,如:window.location.href = encodeURI('b.html?cId='+id+"&cName="+encodeURIComponent(name)); 然后后台Str

asp.net如何解决传递中文参数乱码问题

其实,解决此问题很简单,只需在传递的中文参数用escape()就可以解决了,至于后台c#只需用Page.Request.Params来获取就可以了! 版权声明:本文为博主原创文章,未经博主允许不得转载.

MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法

Ms - sql 数据库批量替换字符串 MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法 update ContentInfo set spcContent=replace(cast(spcContent as varchar(max)),'http://www.buy5188.com/','http://www.epowerchina.com.cn/')