通用Mapper中selectByExample的使用
通用Mapper:1.添加依赖<!----><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>4.1.5</version></dependency>2.创建mapper接口继承t
·
通用Mapper:
1.添加依赖
<!----> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>4.1.5</version> </dependency>
2.创建mapper接口继承tk.mybatis.mapper.common.Mapper<Book>
@Mapper public interface BookMapper extends tk.mybatis.mapper.common.Mapper<Book> { }
3.在配置文件类上添加注解扫描mapper接口所在包
@tk.mybatis.spring.annotation.MapperScan("cn.webrx")
我们使用通用Mapper时可以少编写很多mapper查询语句,但是通用Mapper中的查询方法不多,初学者不知道怎么用通用Mapper查询自己想要的内容
select和selectAll()很容易理解,selectByExample()有些人不会使用。比如我们有一个类Book
我们要按照特定条件查找:
@Test public void m3(){ Example example=new Example(Book.class);//要查询的表对应的实体类 Example.Criteria criteria=example.createCriteria();//创建查询标准 criteria.andEqualTo("name","盛唐");//调用方法,编写自己想要查询的条件 List list=bm.selectByExample(example); System.out.println(list.get(0)); }
criteria里有很多方法:类似于我们查询语句的between,in,isnull等等。通过这些方法我们能设置想要查询的条件,查询到想要查询的内容。
我们查询后可以通过selectByExampleAndRowBounds指定获取几条特定的查询语句,类似于select中的limit。可以在分页的时候使用。
@Test public void m4(){ Example example=new Example(Book.class);//要查询的表对应的实体类 Example.Criteria criteria=example.createCriteria();//创建查询标准 criteria.andEqualTo("name","盛唐");//调用方法,编写自己想要查询的条件 List list=bm.selectByExampleAndRowBounds(example,new RowBounds(0,2)); System.out.println(list); List list1=bm.selectByExample(example); System.out.println(list1); }
selectByExample几乎可以解决所有的查询,select和selectByPrimary是简化的针对特定情况的解决方法。
更多推荐
已为社区贡献3条内容
所有评论(0)