1.1 参数输入类型
简单类型
Java简单类型(9种:8种基本+String)
POJO类型
POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBean,即我们前面封装数据使用的实体类。
POJO包装类型
包装类型:就是在实体类中包含了其它的实体类。
package cn.guardwhy.domain;
/**
* 包装类
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class QueryVo {
private User user; // 包含用户对象
private String start; // 开始日期
private String end; // 结束日期
}
1.2 多条件查询
UserMapper
// 使用POJO包装类型,根据用户名称模糊查询用户
List<User> findUsersByCondition(QueryVo queryVo);
UserMapper.xml
<!--
1. 使用POJO包装类型,根据用户名称模糊查询用户
2. 在核心配置文件中已经定义了类的别名
3. 占位符使用 '%${user.username}%',user是QueryVo中的属性
4. 占位符使用#{start}和#{end}
5. 分别使用between和小于大于编写SQL语句
-->
<select id="findUsersByCondition" parameterType="queryVo" resultType="user">
select * from user where username like '%${user.username}%' and birthday between #{start} and #{end}
</select>
1.2.1 测试代码
- 创建封装条件的对象QueryVo
- 创建user实体类,设置用户名为"大",设置user为QueryVo的属性
- 设置开始日期和结束日期,为1980-1-1到1993-1-1之间出生的。
- 将QueryVo对象做为查询条件
// POJO多条件查询
@Test
public void testFindUsersByCondition(){
QueryVo queryVo