public interface CheckItemDao {//查询public Page<CheckItem> selectByCondition(String queryString);
}
错误代码
<select id="selectByCondition" parameterType="String" resultType="checkItem">select * from t_checkitem<if test="queryString != null and queryString.length > 0">where code like '%"#{queryString}"%' or name like '%"#{queryString}"%'</if></select>

正确代码

使用mybatis默认的对象名:value

<select id="selectByCondition" parameterType="string"  resultType="com.itheima.pojo.CheckItem">select * from t_checkitem<if test="value != null and value.length > 0">where code = #{value} or name = #{value}</if>
</select>

或 使用_parameter

<if test="_parameter != null">f_name like #{_parameter}"%"
</if>

或 定义@Param要传入的字符串名

List<User> selectedUser(@Param("userId") String userId,@Param("userName") String userName);
 <select id="selectedUser" resultType="com.xxx.User" parameterType="String">SELECT user_Id AS userId, user_Name AS userName FROM users WHERE user_id = #{userId} AND user_name = #{userName}
</select>

会报错

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ‘name’ in ‘class java.lang.String’

原因:

mybatis自动调用OGNL寻找String的name属性

mybatis中SQL接受的参数分为:(1)基本类型(2)对象(3)List(4)数组(5)Map

无论传哪种参数给mybatis,他都会将参数放在一个Map中:

如果传入基本类型:变量名作为key,变量值作为value 此时生成的map只有一个元素。

如果传入对象: 对象的属性名作为key,属性值作为value,

如果传入List: "list"作为key,这个List是value (这类参数可以迭代,利用标签实现循环)

如果传入数组: "array"作为key,数组作为value(同上)如果传入Map: 键值不变。

Mybatis中parameterType=“String“坑人之处相关推荐

  1. mybatis中传入String类型参数异常

    mybatis中传入String类型参数异常 参考文章: (1)mybatis中传入String类型参数异常 (2)https://www.cnblogs.com/azhqiang/p/5981796 ...

  2. mybatis中传入String类型参数的问题

    1. 出现的问题 需求是想写一个按公司名字查询公司列表的功能,最开始的代码如下 Dao层接口如下: @MyBatisDao public interface OfficeDao extends Tre ...

  3. Mybatis中parameterType的用法

    在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配置相应的 ...

  4. mybatis中collection中的ofType=“String“时

    mybatis中collection中的ofType="String"时 DTO: package com.example.mybatis.entity;import java.u ...

  5. mybatis中的resultMap与resultType、parameterMap与 parameterType的区别

    Map:映射:Type:Java类型 resultMap 与 resultType.parameterMap 与  parameterType的区别在面试的时候被问到的几率非常高,项目中出现了一个小b ...

  6. mybatis中传集合时 报异常 invalid comparison: java.util.Arrays$ArrayList and java.lang.String

    mybatis中传集合时 报异常 invalid comparison: java.util.Arrays$ArrayList and java.lang.String 参考文章: (1)mybati ...

  7. Mybatis中传参包There is no getter for property named XXX in class java.lang.String

    一.发现问题 <select id="queryStudentByNum" resultType="student" parameterType=&quo ...

  8. MyBatis 中的九种设计模式

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | http://www.crazyant.net ...

  9. mybatis中自建的类型别名

    在使用mybatis过程中经常用到类型别名,除了我们自己新建的别名外,mybatis还自带了很多类型别名和java中的类型的映射,下面先看一个自建的别名的配置 <typeAliases>& ...

最新文章

  1. 磁铁驱动反向续流串接电阻的的分析
  2. 恭喜CocoStudio 1.5和Mac版本发布
  3. ffmpeg-从flv文件中提取AAC音频数据保存为文件
  4. 字符串分割--java中String.split()用法
  5. 高倍数泡沫装置PHP_泡沫灭火系统,了解这几点就好
  6. 2020年2月全国程序员工资统计
  7. Zbrush学习指南—小白也能学会得雕刻软件
  8. 用Mediator Pattern + Queue 解决 订单处理流程
  9. 中国各主要大城市经纬度数据
  10. Ettercap网络嗅探工具攻略
  11. DevOps案例研究|中华有为-解构华为软开云DevOps实践
  12. Oracle 11g 表空间管理
  13. 蛋白互作常用的研究方法
  14. 程序员该如何规划自己的职业发展?
  15. 安科瑞ACTB-6互感器二次侧开路保护装置
  16. 与孤独世界的博弈——诺贝尔奖得主约翰·纳什的传奇一生
  17. 香港虚拟主机租用价格
  18. 拼多多败诉:砍价始终差0.9%侵犯知情权,被判赔400元
  19. 电脑公司GHOST WIN7 装机旗舰版 2013 04
  20. 西部世界:人的大部分痛苦来自控制一切的执念

热门文章

  1. 【使用指南】BXERP使用指南
  2. 做人的基本原则---如何正确做人
  3. 经典面试题:从URL到页面
  4. 黑马参赛分享:我已看到未来已来 观众人气奖揭晓
  5. 推荐系统之矩阵分解(MF)没废话,有代码
  6. 优先队列——51Nod逛街
  7. 2022/7/7/[CCSU Summer Training Contest 2 - Virtual Judge (vjudge.net)](https://vjudge.net/contest/49
  8. 『网络协议攻防实验』SYN Flood攻击
  9. How Digg is Built
  10. FPGA NCOip核的使用及仿真(quartusii 13.1+modelsimse 10.5)