最近在用mybatis,有不想写SQL,于是研究了一下mybatis的Example 之前写过一个jpa的,这个还挺类似的,可以自己拼接查询内容还挺方便的,下面简单介绍一下用法。 我们要使用呢首先要先把查询对象创建出来。
// 创建一个 Example 对象,指定实体类为 User Example example = new Example(User.class); // 创建一个 Criteria 对象,用于设置查询条件 Example.Criteria criteria = example.createCriteria(); // 下面是查询 // and 查询 criteria.andEqualTo("sex", 1); // like 查询 criteria.andLike("mail", "%qq%"); // 拼接查询 criteria.andCondition("name = '张三' or name = '李四'"); // in 查询 criteria.andIn("name", Arrays.asList("张三", "李四")); // mapper 是继承了BaseMapper的类 mapper.selectByExample(example); // 返回的结果就是查询后的结果
需要注意的是,这里的面的字段属性,如果表中是 user_id 而 实体类里面是userId的话,需要按实体对象里面的为准,不然会报错的
正确写法
criteria.andEqualTo("userId", 1);
结束