tk.mybaitis Example 生成sql的用法


  @Test
    public void test1() {

        ArrayList<String> strings = new ArrayList<>();
        strings.add("aa");
        strings.add("bb");

        Example example = new Example(PushClientTemplate.class);
        Criteria criteria = example.createCriteria();
        criteria.andLike("logoUrl", "%" + "Chen" + "%");// logo_url LIKE  %Chen%  注意:这条与下面的有区别,下划线等于号
        criteria.andCondition("logoUrl=","110104");// AND logoUrl = 110104
        criteria.andEqualTo("logoUrl", "xm");// AND logo_url = xm
        criteria.andGreaterThan("logoUrl", "1");// AND logo_url > 1
        criteria.andIsNotNull("logoUrl");// AND logo_url IS NOT NULL
        criteria.andIn("logoUrl",strings);// AND logo_url IN ("aa","bb")
        criteria.andBetween("logoUrl", "1956/01/08", "1966/10/21");// AND logo_url BETWEEN 1956/01/08 AND 1966/10/21
        Example.Criteria criteria2 = example.createCriteria();//
        criteria2.andCondition("logoUrl=","220104");// logoUrl = 220104
        criteria2.andCondition("student=","220105");// logoUrl = 220105
        example.or(criteria2);//

        example.setOrderByClause("creat_time desc");

        List<PushClientTemplate> pushClientTemplates = pushClientTemplateMapper.selectByExample(example);
        System.out.println("pushClientTemplates:"+pushClientTemplates);

    }

生成的sql:

SELECT
	id,
	enabled,
	creator_id,
	creator_name,
	updator_id,
	updator_name,
	created_time,
	updated_time,
	re_mark,
	logo_url,
	push_man,
	push_title,
	push_content
FROM
	xh_push_client_template
WHERE
	(
		logo_url LIKE ?
		AND logo_url = ?
		AND logo_url > ?
		AND logo_url IS NOT NULL
		AND logoUrl = ?
		AND logo_url IN (?, ?)
		AND logo_url BETWEEN ?
		AND ?
	)
OR (logoUrl = ? AND student = ?)
ORDER BY
	creat_time DESC

猜你喜欢

转载自blog.csdn.net/otiankuaile/article/details/80523078