[MyBatis]org.apache.ibatis.binding.BindingException的避免
2024-09-05 02:44:14
我遇到的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<to_date(#{date},'yyyy-MM-dd') </select> <select id="getExpiredCount" resultType="integer"> SELECT COUNT (*) as cnt from ${tableName} where created_datetime<to_date(#{date},'yyyy-MM-dd') AND ROWNUM<#{rowNum} </select> <delete id="sweepAwayExpired"> delete from ${tableName} where created_datetime<to_date(#{date},'yyyy-MM-dd') AND ROWNUM<#{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
最新文章
- 浏览器怎么添加 Axure扩展程序
- [spring源码学习]十、IOC源码-conversionService
- python 中的decorator
- 机器学习公开课笔记(5):神经网络(Neural Network)——学习
- ngx.lua中遇到的小问题
- UML学习
- [转]数据库高可用架构(MySQL、Oracle、MongoDB、Redis)
- HTML5之 Microdata微数据
- 转:Redis Geo: Redis新增位置查询功能
- php 实现简单购物车
- git reflog
- Spring之Bean的配置方式
- 获取微信access_token
- JS时钟--星期 年 月 日 时 分
- UUID+随机数
- java中的PO,VO,TO,BO,DAO,POJO的解释
- 函数图 https://www.processon.com/mindmap/5b5077fae4b040415ae39c64
- linux-top命令查看内存CPU
- Pandas数据分析python环境说明文档
- ffmpeg接收rtsp流问题
热门文章
- 从graphql endpoint获取schema文件
- Oracle学习笔记——imp还原数据库
- js 跳出for/for in/each/for each 循环
- D. Lakes in Berland (DFS或者BFS +连通块
- 阿里云服务器搭建gitlab
- PHP获取不到url传递参数中#&;等特殊字符解决方法
- XSS攻击(跨站攻击)
- python_面向对象——对象间的组合关系
- hbase实践之Rowkey设计之道
- 为什么size_t重要?(Why size_t matters)