========================
MyBatis动态SQL之项目复用
========================
1 为什么要使用动态SQL
用户的筛选条件不同,实现筛选功能的SQL语句也就不同:
- 穷举所有组合过于繁琐
- 借助动态SQL,可以仅编写一条SQL语句,满足不同查询条件的多种组合
2 什么是动态SQL
根据运行期间的实际查询条件,动态完成SQL语句的拼接。
3 复用已有项目
将Association目录复制到Dynamic目录。
只保留src目录和pom.xml文件,其它都删除。
修改pom.xml文件中的GAV坐标:
cn.tedu
dynamic
1.0.0
在IDEA中打开Dynamic项目:
- 删除5个Test类
- 删除mybatis-config.xml文件中有关实体类别名和Mapper文件的内容
- 删除7个Mapper文件
- 删除7个Dao接口
- 删除12个实体类
4 创建数据表
create table t_member(
id int primary key auto_increment,
nick varchar(20) not null unique,
gender char(2) not null,
age int not null,
city varchar(30) not null
);
5 实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class Member {
int id;
String nick;
String gender;
int age;
String city;
}
例程:Dynamic