使用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返回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,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返回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类型参数值为0时得到为空的解决方法
今日遇到的问题: 查询版本信息时,由于version是Integer类型,所以当前台选择版本为0时,变成了查询了所有的版本信息. sql片段: </if> <if test="version != null and version != '' "> AND a.version = #{version} </if> 原因: MyBatis因自身原因默认了 Integer类型数据值等于0时 为 ""(空字符串) 解决办法: 1. 某些
-
使用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. 复杂数据类
随机推荐
- jsp下页面跳转的几种方法小结
- jQuery生成假加载动画效果
- Windows 文件类型与打开方式定义方法
- get post jsonp三种数据交互形式实例详解
- JavaScript仿微信打飞机游戏
- virtualbox不能安装64位系统的解决方法
- php自定义函数call_user_func和call_user_func_array详解
- C#利用GDI+绘制旋转文字等效果实例
- Xcode8 更新解决模拟器找不到的方法
- 了解WEB页面工具语言XML(一)产生背景
- 抽取10万条数据,想起GetRows()
- javascript显示用户停留时间的简单实例
- 详解webpack es6 to es5支持配置
- 微信小程序 解决请求服务器手机预览请求不到数据的方法
- pygame学习笔记(4):声音控制
- 实例学习SQL的Select命令
- jQuery写fadeTo示例代码
- javaweb实现在线支付功能
- PHP--用万网的接口实现域名查询功能
- Android音频系统AudioTrack使用方法详解