久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java中mybatis關(guān)于example類(lèi)的使用詳解

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

這幾天剛接觸example,很多內(nèi)容都是破碎的,寫(xiě)一篇博文加深理解。

一、什么是example類(lèi)

mybatis-generator會(huì)為每個(gè)字段產(chǎn)生如上的Criterion,如果表的字段比較多,產(chǎn)生的Example類(lèi)會(huì)十分龐大。理論上通過(guò)example類(lèi)可以構(gòu)造你想到的任何篩選條件。在mybatis-generator中加以配置,配置數(shù)據(jù)表的生成操作就可以自動(dòng)生成example了。具體配置可以參考MBG有關(guān)配置。 下面是mybatis自動(dòng)生成example的使用。

二、了解example成員變量

//升序還是降序 //參數(shù)格式:字段+空格+asc(desc) protected String orderByClause; //去除重復(fù) //true是選擇不重復(fù)記錄 protected boolean distinct; //自定義查詢(xún)條件 //Criteria的集合,集合中對(duì)象是由or連接 protected List<Criteria> oredCriteria; //內(nèi)部類(lèi)Criteria包含一個(gè)Cretiron的集合, //每一個(gè)Criteria對(duì)象內(nèi)包含的Cretiron之間 //是由AND連接的 public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } //是mybatis中逆向工程中的代碼模型 protected abstract static class GeneratedCriteria {…..} //是最基本,最底層的Where條件,用于字段級(jí)的篩選 public static class Criterion {……}

三、example使用前的準(zhǔn)備

比如我的example是根據(jù)user表生成的,UserMapper屬于dao層,UserMapper.xml是對(duì)應(yīng)的映射文件 UserMapper接口:

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

在我們的測(cè)試類(lèi)里:

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

四、查詢(xún)用戶(hù)數(shù)量

long count = UserMapper.countByExample(example);

類(lèi)似于:select count(*) from user

五、where條件查詢(xún)或多條件查詢(xún)

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);

類(lèi)似于: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);

類(lèi)似于:select * from user where name={#user.name} or sex={#user.sex} ;

六、模糊查詢(xún)

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

類(lèi)似于:

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

七、分頁(yè)查詢(xún)

int start = (currentPage - 1) * rows;//分頁(yè)查詢(xún)中的一頁(yè)數(shù)量example.setPageSize(rows); //開(kāi)始查詢(xún)的位置example.setStartRow(start);List<User> userList=userMapper.selectByExample(example);

類(lèi)似于:

select * from user limit start to rows

到此這篇關(guān)于Java中mybatis中關(guān)于example類(lèi)的使用詳解的文章就介紹到這了,更多相關(guān)Java mybatis中example類(lèi)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 亚洲高清视频在线 | a级毛片免费高清视频 | 日韩av在线中文字幕 | 日韩欧美在线播放 | 国产精品久久久久久久久免费软件 | 亚洲精品欧美视频 | 天天看夜夜爽 | 国产精品久久久久久吹潮 | 色综合激情 | 激情久久久 | 成人福利在线 | 日本中文字幕一区 | 一区二区三区四区视频 | 欧美黑人一级爽快片淫片高清 | 欧美成年人视频 | 国产一级免费网站 | 欧美亚洲一区二区三区 | 国产精品毛片一区二区 | 中国大陆高清aⅴ毛片 | 亚洲一区视频在线 | 日韩影院在线 | 三级在线免费 | 国产精品国产成人国产三级 | 国产欧美久久久久久 | 日韩高清在线一区 | 精品成人在线 | 亚洲婷婷一区 | 久久久久久九九九 | 青青草一区二区三区 | 亚洲最色视频 | 亚洲精品乱码8久久久久久日本 | 久久影院国产 | jizz18国产| ririsao久久精品一区 | 欧美日韩在线视频一区二区 | 亚洲视频1区| 亚洲一区 中文字幕 | 伊人网站 | 成人久久18免费观看 | 99热国产精品 | 欧美 日韩 国产 成人 在线 |