sql 映射文件
积少成多 ---- 仅以此致敬和我一样在慢慢前进的人儿
问题: 如下面的代码中, 接口的方法中,传入两个参数 startIndex 和 pagasize, 直接编译文件,报错显示如下,说找不到
org.apache.ibatis.binding.BindingException: Parameter 'pagesize' not found. Available parameters are [arg1, arg0, param1, param2]
org.apache.ibatis.binding.MapperMethod$ParamMap.get(MapperMethod.java:)
org.apache.ibatis.scripting.xmltags.DynamicContext$ContextAccessor.getProperty(DynamicContext.java:)
org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:)
org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:)
// 数据库接口类
public interface UserMapper {
/*查询固定页码数*/
List<T_user> queryList( Integer startIndex, Integer pagesize); /*查询总数*/
Integer queryCount();
} // 对应的映射文件
<select id = "queryList" resultType="T_user">
select top ${pagesize}*
from t_user
where id not in
(select top ${startIndex} id from t_user order by id)
order by id
</select>
原因:映射文件, 如果传递只有一个参数的,它就会直接找到,但是如果传入两个参数的时候, 它就不知道
该如何去找了, 即使表面上接口中参数名称和映射文件中的参数名字是一致的,但是他还是无法找到, 所以接口中你需要告诉映射文件,某个变量应该在这里找,然后取值
解决方案: 给接口中的参数添加一个注释@param(value = "startIndex"), 如下面所示:
// 数据库接口类
public interface UserMapper {
/*查询固定页码数*/
List<T_user> queryList(@Param(value = "startIndex") Integer startIndex,
@Param(value = "pagesize") Integer pagesize); /*查询总数*/
Integer queryCount();
}
sql 映射文件的更多相关文章
- 初始MyBatis、SQL映射文件
MyBatis入门 1.MyBatis前身是iBatis,是Apache的一个开源项目,2010年这个项目迁移到了Google Code,改名为MyBatis,2013年迁移到GitHub.是一个基于 ...
- 二:SQL映射文件
二:SQL映射文件 1.SQL映射文件: (1)mapper:映射文件的根元素节点,只有一个属性namespace(命名空间) 作用:用于区分不同的mapper全局唯一 绑定dao接口即面向接口编程, ...
- Mybatis sql映射文件浅析 Mybatis简介(三)
简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML为载体映射SQL 之前提到过,各项配置信息将Mybatis应用的整 ...
- 了解一下SQL映射文件
1:SQL映射文件 MyBatis真正强大之处就在于SQL映射语句,相对于强大的功能,SQL映射文件的配置非常简单,与JDBC相比减少了50%的代码.下面是关于SQL映射文件的几个顶级元素配置 map ...
- Mybatis sql映射文件浅析 Mybatis简介(三) 简介
Mybatis sql映射文件浅析 Mybatis简介(三) 简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML ...
- SQL映射文件-----MySQL关系映射【1对1,1对多,多对多】
SSM框架下,mapper.xml 中 association 标签和 collection 标签的使用 当数据库中表与表之间有关联时,在对数据库进行操作时,就不只是针对某一张表了,需要联表查询 My ...
- SQL映射文件
SQL映射文件的几个顶级元素 mapper - namespace cache - 配置给定命名空间的缓存 cache-ref – 从其他命名空间引用缓存配置 resultMap –用来描述数据库结 ...
- MyBatis -- sql映射文件具体解释
MyBatis 真正的力量是在映射语句中. 和对等功能的jdbc来比价,映射文件节省非常多的代码量. MyBatis的构建就是聚焦于sql的. sql映射文件有例如以下几个顶级元素:(按顺序) cac ...
- MyBatis 创建核心配置文件和 SQL 映射文件
Mybatis 的两个配置文件(mybatis-config.xml 和 xxxMapper.xml)都为 xml 类型,因此在 eclipse 中创建 xml 文件命名为相应的 mybatis-c ...
- MyBatis 的基本要素—SQL 映射文件
MyBatis 真正的强大在于映射语句,相对于它强大的功能,SQL 映射文件的配置却是相当简单.对比 SQL 映射配置和 JDBC 代码,发现使用 SQL 映射文件配置可减少 50% 以上的代码,并且 ...
随机推荐
- 19.yield和send的区别
转载:https://www.jianshu.com/p/ccb5e7da3fd8 https://www.cnblogs.com/xhcdream/p/8304953.html https://ww ...
- 网络OSI七层架构与TCP四层架构的应用与区别
1.OSI七层网络模型介绍 OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了 ...
- 分表分库解决方案(mycat,tidb,shardingjdbc)
公司最近有分表分库的需求,所以整理一下分表分库的解决方案以及相关问题. 1.sharding-jdbc(sharding-sphere) 优点: 1.可适用于任何基于java的ORM框架,如:JPA. ...
- $Noip2010/Luogu1525$ 关押罪犯 贪心
$Luogu$ $Sol$ 贪心.尽量把怨气值大的罪犯放到两个监狱,所以首先要按照怨气值从大到小排序.当扫描到两个罪犯已经被指定到同一个监狱时,就结束循环,这个怨气值就是答案.当然把怨气值大的两个罪犯 ...
- Linux下自动化部署ASP.NET CORE 3.1(Docker+Jenkins+Nginx)
1.先配置好Docker阿里云加速,可以使用阿里云容器服务 (可自己在阿里云申请,要不然安装东西直接很慢)注意:https://XXXX.mirror.aliyuncs.com为阿里云加速服务分配地址 ...
- C++单例模式的简单实现
c++单例模式的实现(一) 实现方法 1.将构造函数,析构函数私有化,这样保证在类外无法调用类的构造函数创建类的实例,只能通过类内部定义的方法进行创建: 2.在类内定义静态的,指向该类的指针变量ptr ...
- GPL协议中国第一案尘埃落定,相关开源软件应如何风控?
导读:2019年11月6日,数字天堂(北京)网络技术有限公司(以下简称 “数字天堂公司”)诉柚子(北京)科技有限公司.柚子(北京)移动技术有限公司(以下简称 “柚子公司”)侵犯计算机软件著作权纠纷一案 ...
- 1078 字符串压缩与解压 (20分)C语言
文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示.例如 ccccc 就用 5c 来表示.如果字符没有重复,就原样输出.例如 ...
- shiro采坑指南—基础概念与实战
说明 代码及部分相关资料根据慕课网Mark老师的视频进行整理. 其他资料: shiro官网 基础概念 Authenticate/Authentication(认证) 认证是指检查用户身份合 ...
- WebStorm安装和激活
1.下载解压,得到jetbrains webstorm 2018.2主程序,破解文件和中文语言包: 2.运行“WebStorm-2018.2.exe”开始安装,默认安装目录[C:\Program Fi ...