1. SQL语句参数无法获取:nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'order_ids' in 'class java.lang.String'

XML映射文件配置:

  <select id="getTransferOrderListByOrderIds" parameterType="String" resultType="HashMap">
select *
from wp_transfer_order
WHERE ORDER_SN IN (${order_ids})
</select>
解决方法: 将parameterType="String"参数改为传一个自定义实体对象或者HashMap来封装这个id参数,就可以在自定义实体对象或者HashMap中找到这个id属性
参考地址:http://www.cnblogs.com/sishang/p/6555176.html 2. SQL语句参数错误:java.lang.RuntimeException: org.mybatis.spring.MyBatisSystemException:
nested exception is org.apache.ibatis.builder.IncompleteElementException:  
not find parameter map com.paycloud.interfaces.dao.AdminUserDao.AdminUserResultMap
(1) XML配置部分:
   <resultMap id="AdminUserResultMap" type="com.paycloud.interfaces.dto.AdminUserDto">
<id column="MUID" jdbcType="INTEGER" property="muId" />
<result column="ROLEID" jdbcType="INTEGER" property="roleId" />
<result column="USERNAME" jdbcType="VARCHAR" property="userName" />
<result column="PASSWORD" jdbcType="VARCHAR" property="passWord" />
<result column="BINDIP" jdbcType="VARCHAR" property="bindIp" />
<result column="LASTIP" jdbcType="VARCHAR" property="lastIp" />
<result column="LASTLOGIN" jdbcType="TIMESTAMP" property="lastLogin" />
<result column="SALTS" jdbcType="CHAR" property="salts" />
<result column="STATUS" jdbcType="INTEGER" property="status" />
<result column="GOOGLECODE" jdbcType="VARCHAR" property="googleCode" />
</resultMap>

  (2) SQL语句部分

  错误案例:

  <!-- 添加用户 -->
<insert id="addAdminUser" parameterMap="AdminUserResultMap" >
insert into sys_admin_user
(ROLEID,USERNAME,PASSWORD,SALTS,STATUS,LASTLOGIN, GOOGLECODE)
values
(#{roleId},#{userName},#{passWord},#{salts},#{status},#{lastLogin}, #{googleCode})
</insert>

  修改后:

  <!-- 添加用户 -->
<insert id="addAdminUser" parameterType="com.paycloud.interfaces.dto.AdminUserDto" >
insert into sys_admin_user
(ROLEID,USERNAME,PASSWORD,SALTS,STATUS,LASTLOGIN, GOOGLECODE)
values
(#{roleId},#{userName},#{passWord},#{salts},#{status},#{lastLogin}, #{googleCode})
</insert>

 

3. 注释搞的鬼:java.lang.RuntimeException: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException:
Could not set parameters for mapping: ParameterMapping{property='pageIndex', mode=IN, javaType=class java.lang.Integer, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}.
Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #4 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property.
Cause: java.sql.SQLException: Parameter index out of range (4 > number of parameters, which is 3).
 <!-- 交易统计报表 -->
<select id="getTradeDayStatistics" resultType="Hashmap">
SELECT SUM(t.ORDER_AMOUNT) as order_amount
FROM wp_trade_order t
WHERE t.ORDER_STATUS=1
<if test="tranType != null and tranType != ''"> and t.TRAN_TYPE = #{tranType} </if>
<if test="channelCode != null and channelCode != ''"> and t.CHANNEL_CODE = #{channelCode} </if>
<if test="startTime != null and startTime != ''"> and t.FINISH_TIME >= #{startTime} </if>
<if test="endTime != null and endTime != ''"> and t.FINISH_TIME <= #{endTime} </if>
<if test="minPayMoney != null and minPayMoney != ''"> and t.ORDER_AMOUNT >= #{minPayMoney} </if>
<if test="maxPayMoney != null and maxPayMoney != ''"> and t.ORDER_AMOUNT <= #{maxPayMoney} </if>
/*limit #{pageIndex}, #{pageSize}*/
</select>

 有点粗心,没太在意注释的方式,因为颜色肯定是变灰了,所以出现这个错误。之后把注释去掉就好了。

4.插入时间出现的问题 : Error querying database.  Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String


  <!-- 生成财务流水 -->
<insert id="insertBillings" parameterType="com.paycloud.interfaces.dto.BillingsDto">
INSERT INTO wp_billings
<trim prefix="(" suffix=")" prefixOverrides=",">
<if test="partnerId != null and partnerId != ''">, PARTNER_ID </if>
<if test="tradeTime != null and tradeTime != ''">, TRADE_TIME </if>
</trim>
<trim prefix="VALUES (" suffix=")" prefixOverrides=",">
<if test="partnerId != null and partnerId != ''">, #{partnerId} </if>
<if test="tradeTime != null and tradeTime != '' ">, #{tradeTime} </if>
</trim>
12 </insert>

这是mybatis 3.3.0中对于时间参数进行比较时的一个bug. 如果拿传入的时间类型参数与空字符串''进行对比判断则会引发异常.

所以  and tradeTime != ' ' 删除,只保留非空判断就正常了



												

Mybatis 碰到的一些问题的更多相关文章

  1. 每日一记-mybatis碰到的疑惑:String类型可以传入多个参数吗

    碰到一个觉得很疑惑的问题,Mybatis的parameterType为String类型的时候,能够接收多个参数的吗? 背景 初学Mybatis的时候,看的教程和书籍上都是在说基本的数据类型如:int. ...

  2. SpringBoot整合mybatis碰到的问题

    整合mybatis 1.  导包:在原有的web项目的基础上加上 <!--JDBC连接-->     <dependency>         <groupId>m ...

  3. 初学mybatis和mysql碰到的问题

    今天学习了下使用mybatis操作数据库,期间也是各种问题出现,幸好现在网络发达,网络上很多都可以解决,现在总结一下: Exception in thread "main" org ...

  4. MyBatis通过JDBC生成的执行语句问题

    我们编程的过程中大部分使用了很出色的ORM框架,例如:MyBatis,Hibernate,SpringJDBC,但是这些都离不开数据驱动JDBC的支持.虽然使用起来很方便,但是碰到一些问题确实很棘手, ...

  5. mybatis的一些小总结

    好长时间没用mybatis了,现在项目忽然用mybatis,用的过程中出现了些问题,虽然解决了,不过这花的时间有些长了.总结用的过程中出现的一些问题 1.mapper.xml 之前一直用的自动生成,现 ...

  6. MyBatis的resultMap

    1.大家学习MyBatis时,可能会碰到实体类属性跟数据库字段不同的情况 如:数据库    ------  实体类 stuname  ---->  name 即: 数据库中的stuname字段对 ...

  7. (转)Mybatis高级映射、动态SQL及获得自增主键

    原文:http://www.cnblogs.com/edwinchen/p/4105278.html?utm_source=tuicool&utm_medium=referral 一.动态SQ ...

  8. Spring+SpringMVC+MyBatis+LogBack+C3P0+Maven+Git小结(转)

    摘要 出于兴趣,想要搭建一个自己的小站点,目前正在积极的准备环境,利用Spring+SpringMVC+MyBatis+LogBack+C3P0+Maven+Git,这里总结下最近遇到的一些问题及解决 ...

  9. Mybatis + Mysql 插入数据时中文乱码问题

    近日跟朋友一起建立一个项目,用的是spring+mybatis+mysql. 今天碰到一个mybatis向mysql中插入数据时,中文显示为'???'的问题,拿出来说下. 对于数据库操作中出现的中文乱 ...

随机推荐

  1. 项目管理01--使用Maven构建项目(纯干货)

    目录 1. Maven基础知识 2. Maven实战.开发.测试.打包.部署一个Web项目 一.Maven基础知识 Maven坐标 Maven提供了一个中央仓库,里面包含了大量的开源软件的jar包,只 ...

  2. 【MySQL】RPM包安装

    操作系统:Red Hat Enterprise Linux Server release 6.5 Mysql安装包:MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-b ...

  3. 如何在Linuxt系统下运行maven项目

    如何在Linuxt系统下运行maven项目 我们知道现在利用MAVEN来管理JAVA项目是非常常见的.比如公司一般都有一个自己的MAVEN仓库,通过MAVEN仓库来解决我们的项目依赖,更加方便的构建项 ...

  4. 使用FastReport的BarCode2D控件生成含中文的PDF417条形码

    解决方法:设定CodePage为936 FastReport用户手册中关于CodePage的说明: CodePage This property is specific to the PDF417 a ...

  5. 【sqli-labs】 less51 GET -Error based -Order By Clause -String -Stacked injection(GET型基于错误的字符型Order By从句堆叠注入)

    less50的字符型版本,闭合好引号就行 http://192.168.136.128/sqli-labs-master/Less-51/?sort=1';insert into users(id,u ...

  6. (转)分布式文件存储FastDFS(三)FastDFS配置

    http://blog.csdn.net/xingjiarong/article/details/50559768 在上一节中我们一起搭建了一个单节点的FastDFS系统,但是仅仅将系统搭建起来是远远 ...

  7. 5.21leetcode练习

    目录 两数之和 题目 答案 整数反转 题目 思路及答案 回文数 题目 思路及答案 希望每天进步一点点 两数之和 题目 新手司机上路,光荣翻车,没想出来.借了别人的答案,自行领会 答案 整数反转 题目 ...

  8. Web前端性能优化——提高页面加载速度

    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒, ...

  9. 【vue】挂载点概念

    ## vue vue是mvvm模型,自底向上逐层应用,用于构建用户界面的渐进式框架. ### 挂载点.模板.实例 挂载点,vue仅处理挂点下面的内容(dom节点).挂载点内部的为模板. <div ...

  10. Luogu P2068 统计和

    P2068 统计和 题目描述 给定一个长度为n(n<=100000),初始值都为0的序列,x(x<=10000)次的修改某些位置上的数字,每次加上一个数,然后提出y (y<=1000 ...