mybatis query 对象 or 查询

1.实体查询类:TestQueryBO


import java.io.Serializable;

public class TestQueryBO implements Serializable {
    /**
     * 主键
     */
    private Integer id;

    /**  
     * 通用查询字符串
     */
    private String commonQuery;

    /**
     * 真实姓名
     */
    private String testName;

    /**
     * 手机号
     */
    private String testAccount;

    /**
     * 联系方式
     */
    private String testTel;

    /**
     * 服务编号
     */
    private String testSn;

    /**
     * t_test
     */
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     * @return id 主键
     */
    public Integer getId() {
        return id;
    }

    /**
     * 主键
     * @param id 主键
     */
    public void setId(Integer id) {
        this.id = id;
    }

    public String getCommonQuery() {
        return commonQuery;
    }

    public void setCommonQuery(String commonQuery) {
        this.commonQuery = commonQuery;
    }

    /**
     * 真实姓名
     * @return test_name 真实姓名
     */
    public String getTestName() {
        return testName;
    }

    /**
     * 真实姓名
     * @param testName 真实姓名
     */
    public void setTestName(String testName) {
        this.testName = testName == null ? null : testName.trim();
    }

    /**
     * 手机号
     * @return test_account 手机号
     */
    public String getTestAccount() {
        return testAccount;
    }

    /**
     * 手机号
     * @param testAccount 手机号
     */
    public void setTestAccount(String testAccount) {
        this.testAccount = testAccount == null ? null : testAccount.trim();
    }

    /**
     * 联系方式
     * @return test_tel 联系方式
     */
    public String getTestTel() {
        return testTel;
    }

    /**
     * 联系方式
     * @param testTel 联系方式
     */
    public void setTestTel(String testTel) {
        this.testTel = testTel == null ? null : testTel.trim();
    }

    public String getTestSn() {
        return testSn;
    }

    public void setTestSn(String testSn) {
        this.testSn = testSn;
    }

}

2.AND 字符链接的查询:

private TestQuery createQuery(TestQueryBO queryBO) {
        TestQuery query = new TestQuery();
        Criteria criteria = query.createCriteria();
        if(null != queryBO.getId()) {
            criteria.andIdEqualTo(queryBO.getId());
        }

        if(!StringUtils.isEmpty(queryBO.getTestSn())) {
            criteria.andTestSnLike("%" + queryBO.getTestSn() + "%");
        }
        if(!StringUtils.isEmpty(queryBO.getTestName())) {
            criteria.andTestNameLike("%" + queryBO.getTestName() + "%");
        }
        if(!StringUtils.isEmpty(queryBO.getTestAccount())) {
            criteria.andTestAccountLike("%" + queryBO.getTestAccount() + "%");
        }
        if(!StringUtils.isEmpty(queryBO.getTestTel())) {
            criteria.andTestTelLike("%" + queryBO.getTestTel() + "%");
        }

        return query;
    }

3.OR 字符链接的查询

    private TestQuery createQuery(TestQueryBO queryBO) {
        TestQuery query = new TestQuery();
        // 如果通用查询字符串不为空就设置这个查询
        if(null != queryBO.getCommonQuery()) {
            query.or().andTestSnLike("%" + queryBO.getCommonQuery() + "%");
            query.or().andTestNameLike("%" + queryBO.getCommonQuery() + "%");
            query.or().andTestAccountLike("%" + queryBO.getCommonQuery() + "%");
            query.or().andTestTelLike("%" + queryBO.getCommonQuery() + "%");
        }
        return query;
    }

4.两者的区别:

  1. AND 链接方式的查询使用的是 Query 对象里面的 Criteria 对象添加查询条件。
  2. OR 链接方式使用的是 Query 对象的 or() 方法添加查询条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值