mybatis中关于example类详解

更新时间:2023-06-28 09:20:03 阅读: 评论:0

mybatis中关于example类详解
这⼏天刚接触example,很多内容都是破碎的,写⼀篇博⽂加深理解。
⼀、什么是example类
mybatis-generator会为每个字段产⽣如上的Criterion,如果表的字段⽐较多,产⽣的Example类会⼗分庞⼤。理论上通过example类可以构造你想到的任何筛选条件。在mybatis-generator中加以配置,配置数据表的⽣成操作就可以⾃动⽣成example了。具体配置可以参考。
下⾯是mybatis⾃动⽣成example的使⽤。
⼆、了解example成员变量关于人生的名言名句
//升序还是降序
//参数格式:字段+空格+asc(desc)
protected String orderByClau;
//去除重复
//true是选择不重复记录
protected boolean distinct;
//⾃定义查询条件
//Criteria的集合,集合中对象是由or连接
protected List<Criteria> oredCriteria;
//内部类Criteria包含⼀个Cretiron的集合,
种植园经济//每⼀个Criteria对象内包含的Cretiron之间
//是由AND连接的
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
//是mybatis中逆向⼯程中的代码模型
protected abstract static class GeneratedCriteria
{…..}
//是最基本,最底层的Where条件,⽤于字段级的筛选
public static class Criterion {……}
三、example使⽤前的准备
⽐如我的example是根据ur表⽣成的,UrMapper属于dao层,l是对应的映射⽂件
UrMapper接⼝:
long countByExample(CompetingStoreExample example);
List<CompetingStore> lectByExample(CompetingStoreExample example);
在我们的测试类⾥:
UrExample example = new UrExample();
UrExample.Criteria criteria = ateCriteria();
四、查询⽤户数量
long count = untByExample(example);
类似于:lect count(*) from ur
请君入瓮的意思五、where条件查询或多条件查询
example.tOrderByClau("age asc");//升序
example.tDistinct(fal);//不去重
if(!StringUtils.Name())){
Criteria.Name());
}
if(!StringUtils.Sex())){
Criteria.Sex());
}
List<Ur> urList=urMapper.lectByExample(example);
类似于:lect * from ur where name={#ur.name} and x={#ur.x} order by age asc;
UrExample.Criteria criteria1 = ateCriteria();
UrExample.Criteria criteria2 = ateCriteria();
if(!StringUtils.Name())){
Criteria1.Name());
}
if(!StringUtils.Sex())){
Criteria2.Sex());
}
如何让你爱的人爱上你>网页紧急升级<(criteria2);
自然数符号List<Ur> urList=urMapper.lectByExample(example);
类似于:lect * from ur where name={#ur.name} or x={#ur.x} ;
六、模糊查询
if(!StringUtils.Name())){
criteria.andNameLIke(‘%’+name+’%’);
}
List<Ur>  urList=urMapper.lectByExample(example);
类似于:lect * from ur where name like %{#ur.name}%
七、分页查询
int start = (currentPage - 1) * rows;
//分页查询中的⼀页数量
油菜怎么种example.tPageSize(rows);
//开始查询的位置
example.tStartRow(start);
List<Ur> urList=urMapper.lectByExample(example);
类似于:lect * from ur limit start to rows南宁大明山风景区
⽂章若有不当之处,欢迎评论指出~
如果喜欢我的⽂章,欢迎关注知乎专栏Java修仙道路~

本文发布于:2023-06-28 09:20:03,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1058515.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:条件   查询   配置   对象   欢迎   内容   分庞
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图