亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Java中mybatis關于example類的使用詳解

瀏覽:2日期:2022-08-28 17:07:22

這幾天剛接觸example,很多內容都是破碎的,寫一篇博文加深理解。

一、什么是example類

mybatis-generator會為每個字段產生如上的Criterion,如果表的字段比較多,產生的Example類會十分龐大。理論上通過example類可以構造你想到的任何篩選條件。在mybatis-generator中加以配置,配置數據表的生成操作就可以自動生成example了。具體配置可以參考MBG有關配置。 下面是mybatis自動生成example的使用。

二、了解example成員變量

//升序還是降序 //參數格式:字段+空格+asc(desc) protected String orderByClause; //去除重復 //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是根據user表生成的,UserMapper屬于dao層,UserMapper.xml是對應的映射文件 UserMapper接口:

long countByExample(CompetingStoreExample example);List<CompetingStore> selectByExample(CompetingStoreExample example);

在我們的測試類里:

UserExample example = new UserExample(); UserExample.Criteria criteria = example.createCriteria();

四、查詢用戶數量

long count = UserMapper.countByExample(example);

類似于:select count(*) from user

五、where條件查詢或多條件查詢

example.setOrderByClause('age asc');//升序 example.setDistinct(false);//不去重 if(!StringUtils.isNotBlank(user.getName())){ Criteria.andNameEqualTo(user.getName()); } if(!StringUtils.isNotBlank(user.getSex())){ Criteria.andSexEqualTo(user.getSex()); } List<User> userList=userMapper.selectByExample(example);

類似于:select * from user where name={#user.name} and sex={#user.sex} order by age asc;

UserExample.Criteria criteria1 = example.createCriteria(); UserExample.Criteria criteria2 = example.createCriteria(); if(!StringUtils.isNotBlank(user.getName())){ Criteria1.andNameEqualTo(user.getName()); } if(!StringUtils.isNotBlank(user.getSex())){ Criteria2.andSexEqualTo(user.getSex()); } Example.or(criteria2); List<User> userList=userMapper.selectByExample(example);

類似于:select * from user where name={#user.name} or sex={#user.sex} ;

六、模糊查詢

if(!StringUtils.isNotBlank(user.getName())){ criteria.andNameLIke(‘%’+name+’%’); } List<User> userList=userMapper.selectByExample(example);

類似于:

select * from user where name like %{#user.name}%

七、分頁查詢

int start = (currentPage - 1) * rows;//分頁查詢中的一頁數量example.setPageSize(rows); //開始查詢的位置example.setStartRow(start);List<User> userList=userMapper.selectByExample(example);

類似于:

select * from user limit start to rows

到此這篇關于Java中mybatis中關于example類的使用詳解的文章就介紹到這了,更多相關Java mybatis中example類內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 女人被狂躁的免费视频网站软件 | 日韩欧美a级高清毛片 | 成人网址大全 | 91久久视频 | 日本一级毛片毛片一级毛片 | 亚洲国产福利精品一区二区 | 全部免费特别黄的视频播放 | 亚洲毛片网站 | 曰本变态bdsm色虐七v | 国产不卡在线蜜 | 涩涩国产精品福利在线观看 | 青草视频免费 | 最新国产精品视频免费看 | 久久日本精品一区二区三区 | 欧美日韩综合精品一区二区三区 | 三级 在线播放 | 黄色一级片在线播放 | 亚洲精品第一区二区在线 | 三级黄色在线免费观看 | 成人精品一级毛片 | v欧美精品v日本精品 | 日本三级无码中文字幕 | 成人三级毛片 | 午夜一级精品免费毛片 | 国内自拍亚洲 | 黄色a一级视频 | 日本在线不卡免费视频一区 | 亚洲色视频在线播放网站 | 久久精品道一区二区三区 | 欧美不卡一区二区三区 | 91手机在线视频观看 | 黄色片一区 | 怡红院免费va男人的天堂 | 亚洲精美视频 | 国产99久久亚洲综合精品 | 亚洲精品人成网在线播放影院 | 国产精品亚洲专一区二区三区 | 久久综合色区 | 欧美日韩国产成人精品 | 尹人香蕉久久99天天拍欧美p7 | 天天欲色成人综合网站 |