mybatis中如何传递单个String类型的参数
目录
- 如何传递单个String类型的参数
- mybatis仅传入一个String类型参数报错
- 目前我知道有两种方式解决问题
如何传递单个String类型的参数
使用mybatis接口参数只有一个string的时候 如果不指定@Param 的话mybatis去会把parameterType参数默认成接口的参数类型然后对于xml里的#{a}参数 去调用该类型下参数a 的get/set方法然后就报错了。
使用了@Param注解 mybatis就会一一对应赋值就不会导致这个错误。
接口如下:
xml文件如下:
报错如下:
改成如下就可以了:
mybatis仅传入一个String类型参数报错
mybatis中仅传入一个String类型参数时,不可以用 以下方式
List<Map<String,Object> selectEmployee(String time)
这种方式传参会报错:
There is no getter for property named 'id' in class 'java.lang.String'
目前我知道有两种方式解决问题
1.用 _parameter
<if test="_parameter !=null and _parameter !=''"> DATE_FORMAT( dms.statistic_date, '%Y-%m' ) = #{_parameter,jdbcType=VARCHAR} </if>
2.在mapper中参数加上@Param注解
List<Map<String,Object> selectEmployee(@param("time") String time)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
MyBatis 参数类型为String时常见问题及解决方法
1. 参数为String时的插值问题 假设有下面一Dao接口方法 public Account findByAccountType (String type)throws DaoException; 对应的Mapper.xml <select id="findByAccountType " parameterType="string" resultType="account"> select * form account <wh
-
Mybatis中传递多个参数的4种方法总结
前言 现在大多项目都是使用Mybatis了,但也有些公司使用Hibernate.使用Mybatis最大的特性就是sql需要自己写,而写sql就需要传递多个参数.面对各种复杂的业务场景,传递参数也是一种学问. 下面给大家总结了以下几种多参数传递的方法. 方法1:顺序传参法 #{}里面的数字代表你传入参数的顺序. 这种方法不建议使用,sql层表达不直观,且一旦顺序调整容易出错. 方法2:@Param注解传参法 #{}里面的名称对应的是注解 @Param括号里面修饰的名称. 这种方法在参数不多的情况还
-
MyBatis中如何接收String类型的参数实现
在MyBatis学习初期,当parameterType的值为String<==>也就是接收String类型的参数时,我会通过value来接,如图: 通过value接收String类型的值舒适又简单,然而,直到有一天,我发现屡试不爽的value不给力了->接收String类型值的时候出了问题. 到底是什么凶残吓到了我的value->就是<bind/ >标签,大家请看: 这是配套数据表 查出来的结果让我很费解,用value接收值的时候出了这个问题(好好的"GZ&q
-
mybatis中如何传递单个String类型的参数
目录 如何传递单个String类型的参数 mybatis仅传入一个String类型参数报错 目前我知道有两种方式解决问题 如何传递单个String类型的参数 使用mybatis接口参数只有一个string的时候 如果不指定@Param 的话mybatis去会把parameterType参数默认成接口的参数类型然后对于xml里的#{a}参数 去调用该类型下参数a 的get/set方法然后就报错了. 使用了@Param注解 mybatis就会一一对应赋值就不会导致这个错误. 接口如下: xml文件如
-
浅谈mybatis中SQL语句给boolean类型赋值问题
我就废话不多说了,大家还是直接看代码吧~ <select id="getBiTree" parameterType="String" resultMap="MenuVoListMap"> SELECT m.menu_id , m.parent_id , m.`name` , 1 opens FROM menu m WHERE m.is_valid = 1 AND (m.type = 0 or m.type = 1) and m.men
-
mybatis中<if>标签bool值类型为false判断方法
昨天实现一个功能,根据文章的id或者别名查找文章. 起初采用mybatis的Example进行查询,对参数artName进行判断,如果是纯数字就byId查询,否则就by别名.由于查询文章的同时,需要关联查询文章分类标签,所以选择采用select语句映射的方式查询,但又不想写两个查询方法,就使用了mybatis中动态sql. /** * 查询文章 * @param artName id 或 别名 * @param byId 如果是 true 则按照id查询 * 否则 按照别名查询 * @retur
-
基于mybatis中数组传递注意事项
目录 mybatis中传数组时应当注意的地方 1.直接传递数组 2.将数字放入map中传递 mybatis传入参数为数组.list的写法 1.当传入参数为数组 2.当传入参数为集合时 mybatis中传数组时应当注意的地方 parameterType为主要注意点之一,foreach循环为注意点之二 例如如下代码: 1.直接传递数组 如果 parameterType使用的是 数组参数 例如上述的Long[], 则foreach循环 collection中 必须使用 array(其他代码可以忽略主要
-
mybatis中查询结果为空时不同返回类型对应返回值问题
今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同类型,查询结果为空时dao接口的返回值是一样的吗?接下来我就总结一下常见的几种情况. 第一种:resultType为基本类型,如string(在此暂且把string归纳为基本类型) 如果select的结果为空,则dao接口返回结果为null 第二种,resultType为基本类型,如int 后台报异
-
详解MyBatis resultType与resultMap中的几种返回类型
目录 一.返回集合 1.返回JavaBean集合 2.返回 Map 集合 二.返回 Map 1.一条记录 2.多条记录,需要指定 Map 的 Key 和 Value 的类型 三.返回 resultMap 自定义结果集封装 1.自定义 JavaBean 的封装 2.关联查询的封装,一对一,JavaBean 属性包含 JavaBean 3.关联查询的封装,一对多,JavaBean 属性包含 JavaBean 的集合 4.鉴别器discriminator 一.返回集合 1.返回JavaBean集合 p
-
简单谈谈Java中String类型的参数传递问题
提要:本文从实现原理的角度上阐述和剖析了:在Java语言中,以 String 作为类型的变量在作为方法参数时所表现出的"非对象"的特性. 一.最开始的示例 写代码最重要的就是实践,不经过反复试验而得出的说辞只能说是凭空遐想罢了.所以,在本文中首先以一个简单示例来抛出核心话题: public class StringAsParamOfMethodDemo { public static void main(String[] args) { StringAsParamOfMethodDem
-
Redis中一个String类型引发的惨案
曾经看到这么一个案例,有一个团队需要开发一个图片存储系统,要求这个系统能快速记录图片ID和图片存储对象ID,同时还需要能够根据图片的ID快速找到图片存储对象ID.我们假设用10位数来表示图片ID和图片存储对象ID,例如图片的ID为1101021043,它所对应的图片存储对象的ID为2301010051,可以看到图片ID和图片存储ID正好是一一对应的,是典型的key-value形式,所以首先会想到直接使用String类型来保存数据.把图片ID和图片存储ID分别作为键值对的key和value来保
-
mybatis 如何返回list<String>类型数据
mybatis返回list<String>类型数据 studends表里一条teacher_id 数据对应多条 student_id数据,所以通过teacher_id 查询出来的student_id 是一个List. mybatis代码如下: //返回类型是String类型的student_id <resultMap id="studentIdResult" type="java.lang.String" > <result colum
随机推荐
- IOS开发之路--C语言指针
- React-Native中props具体使用详解
- 利用Google作黑客攻击的原理
- mariadb 在低配 VPS 上崩溃问题处理方案
- Oracle11.2.0.1如何升级到11.2.0.3 Oracle同版本升级
- python使用MySQLdb访问mysql数据库的方法
- ASP.NET 定时器回调方法的重入
- 在JS数组特定索引处指定位置插入元素
- js替代copy(示例代码)
- 用Python实现换行符转换的脚本的教程
- 原生javascript获取元素样式
- 谈谈关于JavaScript 中的 MVC 模式
- thrift安装遇到的问题以及解决方法(必看篇)
- linecache模块加载和缓存文件内容详解
- Android中TextureView与SurfaceView用法区别总结
- python实现微信机器人: 登录微信、消息接收、自动回复功能
- Django实现微信小程序的登录验证功能并维护登录态
- layui--js控制switch的切换方法
- 如何通过Jenkins定期清理为None的镜像详解
- 浅谈在Vue.js中如何实现时间转换指令