12.1 什么是动态SQL电商平台:淘宝、京东
筛选商品
用户的筛选条件不同,完成筛选执行的SQL也不一样,我们可以一一列举不同条件的筛选,但是这种筛选过于繁琐,一旦筛选条件过多,那么组合方式也会很多,MyBatis就提供了动态SQL的配置方式来实现这种多条件查询
12.2 动态SQL使用案例根据查询条件动态完成SQL的拼接
12.2.1 创建数据表案例:查询自己喜欢的人
create table members(
member_id int primary key auto_increment,
member_nick varchar(20) not null,
member_gender char(2) not null,
member_age int not null,
member_city varchar(30) not null
);
12.2.2 创建实体类
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class Member {
private int memberId;
private String memberNick;
private String memberGender;
private int memberAge;
private String memberCity;
}
12.2.3 创建dao接口
12.2.4 where标签在dao接口中定义一个多条件查询的方法
12.2.5 if标签select member_id,member_nick,member_gender,member_age,member_city from members and member_gender=#{gender} and member_age ">>= #{minAge} and member_age <= #{maxAge} and member_city = #{city}
12.2.6 trim标签order by member_age and member_gender=#{gender} and member_age ">>= #{minAge} and member_age <= #{maxAge} and member_city = #{city}
12.2.7 foreach标签and member_gender=#{gender} and member_age ">>= #{minAge} and member_age <= #{maxAge} and member_city = #{city}



