微服务 教程
1085个小节阅读:196.6k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
自定义POJO类,该类的属性就是要传递的参数,在SQL语句中绑定参数时使用POJO的属性名作为参数名即可。此方式推荐使用。
自定义POJO
xxxxxxxxxx
public class PageQuery {
private int startIndex;
private int pageSize;
// 省略getter/setter/构造方法
}
持久层接口方法
xxxxxxxxxx
List<User> findPage2(PageQuery pageQuery);
映射文件
xxxxxxxxxx
<select id="findPage2" resultType="com.itbaizhan.pojo.User" parameterType="com.itbaizhan.pojo.PageQuery">
select * from user limit #{startIndex},#{pageSize}
</select>
测试类
xxxxxxxxxx
public void testFindPage2(){
PageQuery pageQuery = new PageQuery(3, 3);
List<User> users = userMapper.findPage2(pageQuery);
users.forEach(System.out::println);
}
如果不想自定义POJO,可以使用Map作为传递参数的载体,在SQL语句中绑定参数时使用Map的Key作为参数名即可。此方法推荐使用。
持久层接口方法
xxxxxxxxxx
List<User> findPage3(Map<String,Object> params);
映射文件
xxxxxxxxxx
<select id="findPage3" resultType="com.itbaizhan.pojo.User" parameterType="map">
select * from user limit #{startIndex},#{pageSize}
</select>
测试类
xxxxxxxxxx
public void testFindPage3(){
Map<String,Object> params = new HashMap();
params.put("startIndex",0);
params.put("pageSize",4);
List<User> users = userMapper.findPage3(params);
users.forEach(System.out::println);
}
1. 在MyBatis中,能作为参数载体的是:
A List
B Set
C Map
D Queue
2. 在MyBatis中使用Map传参,Map键的类型为:
A String
B int
C Integer
D Date
1=>C 2=>A