JAVA全系列 教程
3762个小节阅读:7094.9k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
分页查询时,Sql语句使用limit关键字,需要传入开始索引和每页条数两个参数。MyBatis的多参数处理有以下方式:
Sql中的参数使用arg0,arg1...或param1,param2...表示参数的顺序。此方法可读性较低,在开发中不建议使用。
持久层接口方法
xxxxxxxxxx
/**
* 分页查询
* @param startIndex 开始索引
* @param pageSize 每页条数
* @return
*/
List<User> findPage(int startIndex,int pageSize);
映射文件
xxxxxxxxxx
<select id="findPage" resultType="com.itbaizhan.mapper.User">
select * from user limit #{arg0},#{arg1}
</select>
<select id="findPage" resultType="com.itbaizhan.mapper.User">
select * from user limit #{param1},#{param2}
</select>
测试类
xxxxxxxxxx
@Test
public void testFindPage(){
List<User> users = userMapper.findPage(0,3);
users.forEach(System.out::println);
}
在接口方法的参数列表中通过@Param定义参数名称,在Sql语句中通过注解中所定义的参数名称指定参数位置。此方式参数比较直观的,推荐使用。
持久层接口方法
xxxxxxxxxx
List<User> findPage1(@Param("startIndex") int startIndex, @Param("pageSize")int pageSize);
映射文件
xxxxxxxxxx
<select id="findPage1" resultType="com.itbaizhan.mapper.User">
select * from user limit #{startIndex},#{pageSize}
</select>
测试类
xxxxxxxxxx
@Test
public void testFindPage1(){
List<User> users = userMapper.findPage1(3,3);
users.forEach(System.out::println);
}
1. MyBatis映射文件的Sql语句中,表示接口方法的第一个参数可以写成:
A #{arg0}
B #{arg1}
C #{param0}
D #{param-1}
2. MyBatis接口方法的参数前使用,定义映射文件中Sql语句的参数名:
A @Param
B @Params
C @Arg
D @Args
1=>A 2=>A