1、简介
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
2、queryWrapper介绍
queryWrapper是mybatis plus中实现查询的对象封装操作类,他的层级关系如下:
- Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示
- AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
- AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
- LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
- LambdaUpdateWrapper : Lambda 更新封装Wrapper
- QueryWrapper : Entity对象封装操作类,不是用lambda语法
- UpdateWrapper : Update条件封装,用于Entity对象更新操作
3、使用demo
//首先新建一个QueryWrapper对象,类型为PbListBlack对象,也就是你需要查询的实体数据,
QueryWrapper<PbListBlack> sectionQueryWrapper = new QueryWrapper<>();
//PbListBlack对象对应的数据库表中的OPTYPE,BLTYPE字段值要为1
sectionQueryWrapper.eq("OPTYPE", 1);
sectionQueryWrapper.eq("BLTYPE", 1);
//然后调用iPbListBlackMapper.selectList方法,参数传递之前需要新建一个查询对象封装类
List<PbListBlack> pbListBlacks = iPbListBlackMapper.selectList(sectionQueryWrapper);
4、新建一个实体对象类
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("PB_LIST_BLACK")
@ApiModel(value = "PB_LIST_BLACK对象", description = "")
public class PbListBlack extends Model<PbListBlack> {
@TableField("ID")
private Long id;
@TableField("USERID")
private String userId;
@TableField("SPGATE")
private String spgate;
@TableField("SPNUMBER")
private String spnumber;
@TableField("PHONE")
private Long phone;
@TableField("OPTYPE")
private Integer optype;
@TableField("OPTTIME")
private Timestamp optTime;
@TableField("CORPCODE")
private String corpCode;
@TableField("SVRTYPE")
private String svrType;
@TableField("MSG")
private String msg = " ";
@ApiModelProperty(value = "黑名单类型。1:短信;2:彩信")
@TableField("BLTYPE")
private Integer blType;
}
5、创建一个mapper类:IPbListBlackMapper
@Repository
public interface IPbListBlackMapper extends BaseMapper<PbListBlack> { }
注意:该mapper只需要继承mybatis plus定义好的BaseMapper接口,通过底层封装的方法即可实现帮你查询你设置查询条件查询到的数据。
当你的Mapper 继承BaseMapper接口后,无需编写 mapper.xml 文件,即可获得CRUD功能。
6、QueryWrapper的方法