我遇到的org.apache.ibatis.binding.BindingException问题是因为Mapper.java中接口和SQL的参数多于一个,Mybatis不知道如何一一对应,解决方法是加上@param注解,手动告诉MyBatis如何去对应。代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hy.mapper.SweepawayMapper">

     <select id="selectCleanExpiredParams" resultType="java.lang.String">
        select name||':'||value from Clean_Expired_Params order by sort
    </select>

    <select id="findTableExist"  resultType="integer">
        SELECT COUNT (*) as cnt FROM ALL_TABLES WHERE table_name = UPPER(#{tableName})
    </select>

    <select id="getAllExpiredCount"  resultType="integer">
        SELECT COUNT (*) as cnt from ${tableName} where created_datetime&lt;to_date(#{date},'yyyy-MM-dd')
    </select>

    <select id="getExpiredCount"  resultType="integer">
        SELECT COUNT (*) as cnt from ${tableName} where created_datetime&lt;to_date(#{date},'yyyy-MM-dd')  AND ROWNUM&lt;#{rowNum}
    </select>

    <delete id="sweepAwayExpired">
        delete from ${tableName} where created_datetime&lt;to_date(#{date},'yyyy-MM-dd') AND ROWNUM&lt;#{rowNum}
    </delete>  

</mapper>

而接口的写法是:

package com.hy.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

@MyMapper
public interface SweepawayMapper {
    List<String> selectCleanExpiredParams();
    int findTableExist(String tableName);// 一个参数MyBati能认出来
    int getAllExpiredCount(@Param("tableName") String tableName,@Param("date") String date);// 多个参数得告诉MyBatis如何区分
    int getExpiredCount(@Param("tableName") String tableName,@Param("date") String date,@Param("rowNum") int rowNum);
    int sweepAwayExpired(@Param("tableName") String tableName,@Param("date") String date,@Param("rowNum") int rowNum);
}

--END-- 19/10/17 8:21

最新文章

  1. 浏览器怎么添加 Axure扩展程序
  2. [spring源码学习]十、IOC源码-conversionService
  3. python 中的decorator
  4. 机器学习公开课笔记(5):神经网络(Neural Network)——学习
  5. ngx.lua中遇到的小问题
  6. UML学习
  7. [转]数据库高可用架构(MySQL、Oracle、MongoDB、Redis)
  8. HTML5之 Microdata微数据
  9. 转:Redis Geo: Redis新增位置查询功能
  10. php 实现简单购物车
  11. git reflog
  12. Spring之Bean的配置方式
  13. 获取微信access_token
  14. JS时钟--星期 年 月 日 时 分
  15. UUID+随机数
  16. java中的PO,VO,TO,BO,DAO,POJO的解释
  17. 函数图 https://www.processon.com/mindmap/5b5077fae4b040415ae39c64
  18. linux-top命令查看内存CPU
  19. Pandas数据分析python环境说明文档
  20. ffmpeg接收rtsp流问题

热门文章

  1. 从graphql endpoint获取schema文件
  2. Oracle学习笔记——imp还原数据库
  3. js 跳出for/for in/each/for each 循环
  4. D. Lakes in Berland (DFS或者BFS +连通块
  5. 阿里云服务器搭建gitlab
  6. PHP获取不到url传递参数中#&amp;等特殊字符解决方法
  7. XSS攻击(跨站攻击)
  8. python_面向对象——对象间的组合关系
  9. hbase实践之Rowkey设计之道
  10. 为什么size_t重要?(Why size_t matters)