`
53873039oycg
  • 浏览: 843878 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[简单]mybatis判断数字类型

 
阅读更多

       昨天同事反馈mybatis保存不了int类型的属性,一直报错,错误信息如下:

     

Caused by: java.lang.NumberFormatException: For input string: "null"
	at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
	at sun.misc.FloatingDecimal.parseDouble(Unknown Source)
	at java.lang.Double.parseDouble(Unknown Source)
	at org.apache.ibatis.ognl.OgnlOps.doubleValue(OgnlOps.java:259)
	at org.apache.ibatis.ognl.OgnlOps.compareWithConversion(OgnlOps.java:144)
	at org.apache.ibatis.ognl.OgnlOps.isEqual(OgnlOps.java:186)
	at org.apache.ibatis.ognl.OgnlOps.equal(OgnlOps.java:578)
	at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:51)
	at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
	at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:210)
	at org.apache.ibatis.ognl.ASTAnd.getValueBody(ASTAnd.java:56)
	at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
	at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:210)
	at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:333)
	at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:413)
	at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:395)
	at org.apache.ibatis.builder.xml.dynamic.OgnlCache.getValue(OgnlCache.java:42)
	at org.apache.ibatis.builder.xml.dynamic.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32)
	at org.apache.ibatis.builder.xml.dynamic.IfSqlNode.apply(IfSqlNode.java:30)
	at org.apache.ibatis.builder.xml.dynamic.MixedSqlNode.apply(MixedSqlNode.java:29)
	at org.apache.ibatis.builder.xml.dynamic.TrimSqlNode.apply(TrimSqlNode.java:42)
	at org.apache.ibatis.builder.xml.dynamic.MixedSqlNode.apply(MixedSqlNode.java:29)
	at org.apache.ibatis.builder.xml.dynamic.MixedSqlNode.apply(MixedSqlNode.java:29)
	at org.apache.ibatis.builder.xml.dynamic.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:37)
	at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:241)
	at org.apache.ibatis.executor.statement.BaseStatementHandler.<init>(BaseStatementHandler.java:61)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.<init>(PreparedStatementHandler.java:36)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.<init>(RoutingStatementHandler.java:42)
	at org.apache.ibatis.session.Configuration.newStatementHandler(Configuration.java:348)
	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:43)
	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:108)
	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:75)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:145)
	... 51 more
	
	
	
	




		









	
	



 

   对应配置为:

   

<if test="downNum!=null and downNum!='null' and downNum!=''">
				#{downNum}
			</if>

    错误原因是使用了判断String的条件判断数字类型,正确方式是:

   

<if test="downNum>=0">
	#{downNum}
</if>

   

  

分享到:
评论

相关推荐

    mybatis 映射文件中if标签判断字符串相等的两种方式

    这种方式看似简单,但需要注意的是,MyBatis会自动处理单引号内的值,将其转换为对应的Java数据类型。对于字符'Y',MyBatis会将其视为一个字符类型。而在Java中,字符类型与字符串类型的比较需要特别处理,直接使用 ...

    Mybatis Integer类型参数值为0时得到为空的解决方法

    Mybatis Integer类型参数值为0时得到为空的解决方法 Mybatis 是一个流行的持久层框架,广泛应用于 Java 应用程序中。然而,在使用 Mybatis 进行数据库操作时,经常会遇到一些棘手的问题。其中之一就是当 Integer ...

    mybatis-param-clazzStudent-222

    通常,这些参数可以是简单的Java基本类型,如int、String等,也可以是复杂的对象类型。在本例中,“clazzStudent”暗示我们正在处理一个名为“Student”的类,它可能包含学生的信息,如姓名、年龄、学号等。 ...

    springbootmybatis.rar

    - **String**: Redis中的字符串是最基本的数据类型,可以用来存储简单的文本或者数字。 - **Hash**: 哈希是键值对的集合,适合存储对象,键是字段,值是字段对应的值。 - **Set**: 集合是无序的不重复元素集合,...

    ssm课程笔记.pdf

    此外,还提到了“6983”、“18”、“100”等数字,它们可能是课程中提到的某个版本号、重要日期、技术参数或其他意义,但由于片段信息有限,无法准确判断其具体含义。 最后,这份笔记还强调了课程对于开发者的具体...

    10万字面试总结Java.pdf

    这份"10万字面试总结Java.pdf"涵盖了Java基础知识、JVM、Spring框架、并发编程、Linux、Dubbo、Mybatis、Springcloud、Spring Boot、消息队列和Zookeeper等多个核心主题,旨在帮助Java开发者全面准备面试。...

    Java面试题和答案总结(10万字)

    Java语言的主要特点是简单易学、丰富的类库、面向对象、与平台无关性、可靠安全以及支持多线程。它的面向对象特性使得程序的耦合度降低,内聚性增强,便于代码的维护和扩展。平台无关性得益于Java虚拟机(JVM),...

    java知识梳理.docx

    除了上述基础知识,Java知识还包括JVM内存管理、多线程与并发编程、Spring框架、Mybatis持久层框架、SpringBoot微服务开发、MySQL数据库优化、SpringCloud微服务架构、Dubbo服务治理、Nginx反向代理与负载均衡、消息...

    BAT大厂2023年Java架构师岗面试题(综合版)

    - **命名规则**:标识符可以包含字母、数字、$和_,但不能以数字开头,不能是关键字。 - **命名规范**:类名采用大驼峰式,变量和方法名采用小驼峰式。 5. **instanceof 关键字**: - **作用**:用于判断一个...

    Ajax实现实时登录验证

    这个实例主要是为初学者提供一个基础的AJAX登录验证教程,通过正则表达式对用户输入的登录信息进行有效性判断。 在Web开发中,传统的登录方式通常会提交表单后跳转或刷新页面来完成验证,但这种体验并不理想,特别...

    基于SpringBoot+Vue的在线考试系统设计报告

    系统根据设定的考试时间和试题类型(选择题、多选题、判断题)随机抽取题目,学生在规定时间内答题,时间到系统自动提交试卷。自动阅卷功能利用预先定义好的答案进行比对,计算出分数。学生完成考试后,可以查看成绩...

    JSTL标签

    虽然在现代Web应用中,通常会使用更高级的框架如Hibernate或MyBatis,但在某些简单场景下,SQL标签库仍然有其用武之地。例如: - `&lt;sql:query&gt;`:执行SQL查询并返回结果集。 - `&lt;sql:update&gt;`:执行SQL更新语句。 *...

    java基础知识点67条

    - `if-else if`语句适合于区间或范围判断,而`switch`语句更适合于固定值的选择。 #### 28. 编辑器快捷键 - **Ctrl+Shift+O**: 自动导入未使用的类或接口,这对于清理冗余代码、提高代码整洁度非常有帮助。 #### ...

Global site tag (gtag.js) - Google Analytics