使用Mybatis接收Integer参数的问题
目录
- Mybatis接收Integer参数
- 解决办法
- Mybatis在使用Integer类型
- 当传人mybatis构成sql语句时
Mybatis接收Integer参数
最近在做项目的时候,在mybatis中用标签判断分页参数时,出现了问题。
<if test="startRow != null and startRow != '' and selectRow != null and selectRow != ''"> LIMIT #{startRow},#{selectRow} </if>
这段代码是为了在SQL中设置分页参数,接收的参数类型都为Integer。
我们都知道要查询第一页的话,startRow要赋值为0,但是这段代码一直不起作用。正常来说,0既不为null,也不等于空字符串;
但是查阅资料才知道,mybatis接收Integer参数时,若参数值为0,为被解析为空字符串' '
解决办法
<if test="startRow != null and selectRow != null"> LIMIT #{startRow},#{selectRow} </if>
1.只判断Integer参数不为null,不用判断不为空字符串;
2.可以判断参数不等于0(在我的例子中不适用)
Mybatis在使用Integer类型
当传人mybatis构成sql语句时
传入的类型为int类型的值为0时,会被认为是空字符串,所以只要这样判断
就可以了:
<if test="payStatus != null and payStatus != '' or payStatus == 0"> AND info.pay_status = #{payStatus} </if>
当payStatus的值为0时,再加一个payStatus==0就会走入if。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Mybatis Integer类型参数值为0时得到为空的解决方法
今日遇到的问题: 查询版本信息时,由于version是Integer类型,所以当前台选择版本为0时,变成了查询了所有的版本信息. sql片段: </if> <if test="version != null and version != '' "> AND a.version = #{version} </if> 原因: MyBatis因自身原因默认了 Integer类型数据值等于0时 为 ""(空字符串) 解决办法: 1. 某些
-
mybatis 返回Integer,Double,String等类型的数据操作
在使用mybatis的过程中会遇到只返回单独数据类型的问题会用到resultType. //返回Integer <select id="getSpeedByLinkId" parameterType="java.lang.String" resultType="Integer"> SELECT speed from dws_tfc_state_speed_link_last_rt where link_id = #{linkId} &
-
Mybatis返回int或者Integer类型报错的解决办法
会报错如下: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Mapper method 'com.bill.springMybatis.dao.UserDao.getUserIdByName attempted to return null from a m
-
解决myBatis返回integer值的问题
经过测试 将 resultMap="java.lang.Integer" 改成 resultType="java.lang.Integer" 也可以解决问题~ 补充知识:mybatis返回count(*)的整数值 1.mybatis中resultType定义为"java.lang.Integer" <select id="selectNums" resultType="java.lang.Integer&quo
-
使用Mybatis接收Integer参数的问题
目录 Mybatis接收Integer参数 解决办法 Mybatis在使用Integer类型 当传人mybatis构成sql语句时 Mybatis接收Integer参数 最近在做项目的时候,在mybatis中用标签判断分页参数时,出现了问题. <if test="startRow != null and startRow != '' and selectRow != null and selectRow != ''"> LIMIT #{startRow},#{sel
-
Mybatis传list参数调用oracle存储过程的解决方法
怎么利用MyBatis传List类型参数到数据库存储过程中实现批量插入数据? MyBatis中参数是List类型时怎么处理?大家都知道MyBatis批处理大量数据是很难做到事务回滚的(事务由Spring管理),都将逻辑写在存储中又是及其头疼的一件事(参数长度也有限制),那么我想的是将参数在后台封装为单个或多个list集合,直接通过MyBatis将此参数传到数据库存储过程中,一来摆脱了MyBatis批量插入数据的诸多限制(例如:不能实时返回主键.foreach标签循环集合长度有限制),二来就是在存
-
Mybatis传单个参数和<if>标签同时使用的问题及解决方法
// Mapper.java EmerEvent selectByAlarmId(Integer alarmId); // Mapper.xml <select id="selectByAlarmId" resultMap="BaseResultMap" parameterType="java.lang.Integer"> select <include refid="Base_Column_List" /&
-
MyBatis Mapper接受参数的四种方式代码解析
这篇文章主要介绍了MyBatis Mapper接受参数的四种方式代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 对于单个参数而言,可以直接写#{param},这里的占位符名称没有限制,反正就一个参数一个占位符,不需要指定名称 对于多个参数,有常用的四种方式 根据位置排序号 public interface UserDao { public Integer addUser(String username, String password)
-
SpringBoot接口接收json参数解析
目录 SpringBoot接口接收json参数 前言 前提 一.GET 二.DELETE 三.POST/PUT/PATCH Springboot restFul 参数检验 概述 常用注解 简单应用举例 自定义校验 抛出BindException而非MethodArgumentNotValidException SpringBoot接口接收json参数 前言 通常来讲,HTTP 方法会映射为 CRUD 动作,但这并不是严格的限制,有时候 PUT 也可以用来创建新的资源,POST 也可以用来更新资源
-
PowerShell函数中接收管道参数实例
本文介绍在自定义PowerShell函数时,如何设置函数通过管道(Pipeline)接收输入参数. 先看一个例子,用管道作为输入参数的函数: 复制代码 代码如下: function Test-Pipeline { param( [Parameter(ValueFromPipeline=$true)] $InputObject ) process { "Working with $InputObject"
-
Sql Server 存储过程调用存储过程接收输出参数返回值
创建存储过程: ALTER PROCEDURE [dbo].[GetCustomers] (@rowcount INT OUTPUT) AS SELECT [CustomerID] ,[CompanyName] ,[ContactName] ,[ContactTitle] ,[Address] ,[City] ,[Region] ,[PostalCode] ,[Country] ,[Phone] ,[Fax] FROM [Northwind].[dbo].[Customers] SET @row
-
详解SpringMVC——接收请求参数和页面传参
spring接收请求参数: 1,使用HttpServletRequest获取 @RequestMapping("/login.do") public String login(HttpServletRequest request){ String name = request.getParameter("name") String pass = request.getParameter("pass") } 2,Spring会自动将表单参数注入到方
-
MyBatis中传入参数parameterType类型详解
前言 Mybatis的Mapper文件中的select.insert.update.delete元素中有一个parameterType属性,用于对应的mapper接口方法接受的参数类型.本文主要给大家介绍了关于MyBatis传入参数parameterType类型的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 1. MyBatis的传入参数parameterType类型分两种 1. 1. 基本数据类型:int,string,long,Date; 1. 2. 复杂数据类
随机推荐
- javascript 调用其他页面的js函数或变量的脚本
- 美女游戏病毒iwbkvd.exe查杀方法
- Spring Boot使用FastJson解析JSON数据的方法
- javascript 实现字符串反转的三种方法
- js 操作符实例代码
- asp.net采集网页图片的具体方法
- Python中集合类型(set)学习小结
- PHP+Mysql+jQuery实现发布微博程序 php篇
- 详解PHP处理密码的几种方式
- linux忘记mysql密码处理方法
- JavaScript 无缝上下左右滚动加定高定宽停顿效果(兼容ie/ff)
- linux自动重启tomcat脚本分享
- C++基础学生管理系统
- Nginx中使用gzip_http_version解决CDN只支持http 1.0问题
- Nginx使用的php-fpm的两种进程管理方式及优化
- 用java等语言仿360首页拼音输入全模糊搜索和自动换肤
- Java导出oracle表结构实例详解
- 详解Android App中的AsyncTask异步任务执行方式
- C#交错数组用法实例
- webpack 插件html-webpack-plugin的具体使用