日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

Spring Boot集成mongodb數據庫過程解析

瀏覽:248日期:2023-09-05 14:05:35

一.認識mongodb

MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。它支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

二.Spring boot項目集成mongodb

1.添加mongodb依賴

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>

2.配置mongodb的連接

spring:data:mongodb:#uri: mongodb://localhost:27017/data_explorationuri: mongodb://root:dhcc-mongodb@192.168.100.87:27017/data_exploration?authSource=admin&authMechanism=SCRAM-SHA-1

解析:以上uri分別代表本地配置和遠程連接

3.操作數據庫

(1)保存

@Repositorypublic class ExplorationJobDao { @Autowired MongoTemplate mongoTemplate; public void save(ExplorationJob explorationJob) { mongoTemplate.save(explorationJob); }}

(2)根據ID修改一條數據(其原理先符合ID的數據,然后刪除查詢結果的第一條)

public void updateExecutionStatusById(int executionStatus, String jobId) { Query query = new Query(Criteria.where('jobId').is(jobId)); Update update = new Update().set('executionStatus', executionStatus); mongoTemplate.updateFirst(query, update, ExplorationJob.class); }

(3)根據條修改多條數據(查詢符合ID的所有數據,然后將所有數據修改)

public void update(BusinessExploration businessExploration) { Query query = new Query(Criteria.where('_id').is(businessExploration.getId())); Update update = new Update().set('sourceUnit', businessExploration.getSourceUnit()).set('appSystem', businessExploration.getAppSystem()).set('businessImplication', businessExploration.getBusinessImplication()).set('safetyRequire', businessExploration.getSafetyRequire()); mongoTemplate.updateMulti(query, update, TableExploration.class); }

(4)刪除(根據ID刪除)

public void delExplorationJobById(String jobId) { Query query=new Query(Criteria.where('jobId').is(jobId)); mongoTemplate.remove(query,ExplorationJob.class); }

(5)根據條件查詢(根據ID查詢)

public ExplorationJob getExplorationJobByJobId(String jobId) { Query query = new Query(Criteria.where('jobId').is(jobId)); ExplorationJob explorationJob = mongoTemplate.findOne(query, ExplorationJob.class); return explorationJob; }

(6)查詢所有

mongoTemplate.findAll(TableExploration.class);

(7)多條件動態查詢

public List<ExplorationJob> getExplorationByCondition(ExplorationJob explorationJob) { Query query = new Query(); if (explorationJob.getJobName() != null) { Pattern pattern = Pattern.compile('^.*' + explorationJob.getJobName() + '.*$', Pattern.CASE_INSENSITIVE); query.addCriteria(Criteria.where('jobName').regex(pattern)); } if (explorationJob.getDsType() != null) { query.addCriteria(Criteria.where('dsType').is(explorationJob.getDsType())); } if (explorationJob.getExecutionStatus() != null) { query.addCriteria(Criteria.where('executionStatus').lte(explorationJob.getExecutionStatus())); } List<ExplorationJob> explorationJobs=mongoTemplate.find(query, ExplorationJob.class); return explorationJobs; }

(8)查詢最大值

public Date getMaxExplorationDate(String tableName) { FindIterable<Document> iterable = mongoTemplate.getCollection('tableExploration').find(new BasicDBObject('tableName', tableName)).sort(new BasicDBObject('explorationDate', -1)).skip(0).limit(1); Document doc =null; if (getDocuments(iterable).size()>0) { doc=getDocuments(iterable).get(0); Date date = doc.getDate('explorationDate'); return date; }else { return null; } } /** * 工具方法 * * @param iterable * @return */ public static List<Document> getDocuments(FindIterable<Document> iterable) { List<Document> results = new ArrayList<Document>(); if (null != iterable) { MongoCursor<Document> cursor = iterable.iterator(); Document doc = null; while (cursor.hasNext()) {doc = cursor.next();results.add(doc); } } return results; }

(9)分組查詢(這里還是用到了排序)

public List<TableExploration> getAllTableExplorationGroupByTableName(String jobId){ Aggregation aggregation = Aggregation.newAggregation(Aggregation.match(Criteria.where('jobId').is(jobId)),Aggregation.sort(new Sort(Direction.DESC,'explorationDate')),Aggregation.group('tableName').first('_id').as('tableName').first('databaseType').as('databaseType').first('databaseName').as('databaseName').first('networkSituation').as('networkSituation').first('userName').as('userName').first('password').as('password').first('url').as('url').first('dataStorage').as('dataStorage').first('dataIncrement').as('dataIncrement').first('explorationDate').as('explorationDate')//.push('columnExplorations').as('columnExplorations').first('jobId').as('jobId')); AggregationResults<TableExploration> aggregationResults= mongoTemplate.aggregate(aggregation, 'tableExploration', TableExploration.class); List<TableExploration> tableExplorations=aggregationResults.getMappedResults(); return tableExplorations;

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
一区二区精彩视频| 91精品一区二区三区综合在线爱| 免费国产自久久久久三四区久久| 欧美三级精品| 久久中文字幕av一区二区不卡| 国产精品久久久久久久久妇女| 久久精品午夜| 国产精品99视频| 国产精品久久久久av电视剧| 亚洲电影有码| 中文亚洲免费| 免费看精品久久片| 日欧美一区二区| 国产欧美自拍| 久久精品三级| 国产一区2区| 麻豆视频在线观看免费网站黄 | 国产欧美日韩影院| 国产日产精品_国产精品毛片 | 久久精品动漫| 午夜av一区| 中文字幕视频精品一区二区三区| 日本不卡视频在线| 欧美精品不卡| 日韩在线二区| 亚洲欧美日韩在线观看a三区| 蜜桃视频第一区免费观看| 亚洲精品中文字幕99999| 国产日产精品一区二区三区四区的观看方式| 欧美91在线|欧美| 欧美日韩视频网站| 免费中文字幕日韩欧美| 欧美日韩亚洲国产精品| sm捆绑调教国产免费网站在线观看| 婷婷亚洲五月| 日韩中文字幕在线一区| 麻豆国产91在线播放| 99精品视频在线| 日韩高清不卡一区| 欧美国产一级| 蜜臀久久久久久久| 国产极品一区| 亚洲精品一区二区妖精| 国产日韩欧美一区二区三区在线观看| 日本久久综合| 国产精品美女久久久浪潮软件| 日韩激情中文字幕| 日韩免费高清| 中文字幕免费一区二区| 国产aa精品| 亚洲精品电影| 国产精品久久久久久久久久白浆 | 国产精品久久久久77777丨| 欧美三级网址| 日韩一区二区三区精品视频第3页| 国产精品欧美一区二区三区不卡| 欧美日韩国产v| 日韩欧美久久| 日韩啪啪电影网| 免费久久精品视频| 福利一区和二区| 丝瓜av网站精品一区二区| 精品中文字幕一区二区三区四区| 国产尤物精品| 国产精品成人国产| 亚洲精品电影| 久久麻豆视频| 亚洲一区二区日韩| 中文字幕系列一区| 国产乱子精品一区二区在线观看 | 日av在线不卡| 国产中文在线播放| 日韩三级精品| 性欧美xxxx免费岛国不卡电影| 国产欧美三级| 一区二区三区午夜视频| 91精品精品| 国产在线视频欧美一区| 亚洲精品一二| 91精品91| 国产精品99一区二区三区| 国产午夜一区| 亚洲精品韩国| 日韩一级欧洲| 欧美福利一区| 午夜久久中文| 久久成人av| 日韩高清不卡在线| 日韩在线一二三区| 欧美 日韩 国产精品免费观看| 欧美激情福利| 日韩激情网站| 亚洲一区二区三区四区电影| 三上悠亚国产精品一区二区三区| 国产精品久久久久77777丨| 亚洲麻豆一区| 免费人成精品欧美精品| 国产精品普通话对白| 国内精品99| 久久精品导航| 中文字幕系列一区| 精品亚洲美女网站| 欧洲在线一区| 久久精品影视| 久久久久91| 国产精品av久久久久久麻豆网| 久久九九国产| 久久国产免费| 久久三级视频| 国产精品黑丝在线播放| 精品亚洲成人| 久久久亚洲欧洲日产| 欧美激情三区| 国产极品久久久久久久久波多结野| 欧美亚洲免费| 欧美片第1页综合| 日韩极品在线观看| 91麻豆精品激情在线观看最新| 日韩欧美激情| 69精品国产久热在线观看| 欧美日韩亚洲一区| 国产精品久久久久毛片大屁完整版| 国产乱子精品一区二区在线观看| 欧美私人啪啪vps| 日本强好片久久久久久aaa| 欧美日韩18| 美女视频一区在线观看| 成人一区而且| 久久香蕉国产| 另类亚洲自拍| 日本国产欧美| 国产精品亚洲欧美日韩一区在线| 国产精品久久亚洲不卡| 精品视频亚洲| 国产在线观看www| 99久久婷婷| 午夜一区在线| 日韩国产在线观看| 欧美aaaaaa午夜精品| 麻豆精品av| 久久91导航| 国产亚洲亚洲| 日韩区欧美区| 国产高清精品二区| 日韩国产激情| 在线亚洲欧美| 91亚洲无吗| 中文字幕在线视频久| 亚洲欧洲日本mm| 91麻豆精品激情在线观看最新| 精品视频一区二区三区四区五区 | 成人国产精品久久| av资源亚洲| 欧美精品一二| 日韩精品免费观看视频| 精品国产三区在线| 久久久久国产一区二区| 视频一区在线视频| 国产精品一区二区av交换| 国产suv精品一区| 99国产精品久久久久久久| 日本aⅴ亚洲精品中文乱码| 久久精品五月| 亚洲国产一区二区在线观看| 亚洲精品国产精品粉嫩| 精品丝袜久久| 9色精品在线| 国产亚洲一区| 群体交乱之放荡娇妻一区二区| 一本综合精品| 麻豆视频在线观看免费网站黄| 亚洲少妇自拍| 国产精品videosex极品| 蜜桃成人av| 国产欧美一区二区三区国产幕精品 | 色黄视频在线观看| 视频一区在线播放| 国内揄拍国内精品久久| 午夜宅男久久久| 欧美1区2区3| 中文在线一区| 精品欠久久久中文字幕加勒比| 99成人在线| 精品国产欧美| 亚洲在线电影| 日本一二区不卡| 日韩一区免费| 欧美性感美女一区二区| 欧美日韩1区| 国产精品7m凸凹视频分类| 国产精品欧美大片| 首页国产欧美久久| 日韩天堂在线| 国产麻豆一区| 免费视频久久| 久久久久国产精品一区三寸| 欧美在线精品一区| 欧美日韩国产免费观看视频| 麻豆一区在线| 亚洲精品精选|