当前位置: 首页 > news >正文

微芒网站建设慈利网站建设

微芒网站建设,慈利网站建设,网站建设就是学淘宝吗,同一个wifi下_我如何用手机访问我用我电脑做服务器的网站文章目录前言一、搭建项目二、开始编写java代码1. 新增2.查询3. 修改4. 删除5.根据条件查询6. 关联查询7. 索引相关总结前言 MongoTemplate 相关操作 CRUD,聚合查询等; 一、搭建项目 springboot项目创建引入mongo 依赖docker 安装好mongo数据库配置yml 链接mongo spring:dat…

文章目录

  • 前言
  • 一、搭建项目
  • 二、开始编写java代码
    • 1. 新增
    • 2.查询
    • 3. 修改
    • 4. 删除
    • 5.根据条件查询
    • 6. 关联查询
    • 7. 索引相关
  • 总结


前言

MongoTemplate 相关操作 CRUD,聚合查询等;


一、搭建项目

  • springboot项目创建
  • 引入mongo 依赖
  • docker 安装好mongo数据库
  • 配置yml 链接mongo
spring:data:mongodb:host: 127.0.0.1port: 27017database: test

pom/gradle MongoTemplate 版本: 2.6.3

spring-boot-starter-data-mongodb

mongo可视化工具 robo3t
链接工具
springboot yml配置

二、开始编写java代码

1. 新增

  @AutowiredMongoTemplate mongoTemplate;@Testvoid add() {List<ApplicationEntity> applicationEntityList = init();Collection<ApplicationEntity> applicationEntities = mongoTemplate.insert(applicationEntityList, ApplicationEntity.class);log.info("存储成功: {}", JSONUtil.toJsonStr(mongoTemplate.findAll(ApplicationEntity.class)));}private List<ApplicationEntity> init() {List<ApplicationEntity> applicationEntityList = CollectionUtil.newArrayList();for (int i = 0; i < 2; i++) {String id = IdUtil.fastSimpleUUID();String name = "第" + RandomUtil.randomNumbers(2) + "个应用";ApplicationEntity applicationEntity = ApplicationEntity.builder().id(id).name(name).orgName(name).icon("https://www.baidu.com").status(RandomUtil.randomBoolean() ? "启用" : "禁用").type("application").build();applicationEntityList.add(applicationEntity);}return applicationEntityList;}

实体具体内容
实体内容

2.查询

 @AutowiredMongoTemplate mongoTemplate;@Testvoid queryField() {Query query1 = new Query();query1.fields().include("orgName", "name");List<ApplicationEntity> applicationEntities = mongoTemplate.find(query1, ApplicationEntity.class);System.out.println(JSONUtil.toJsonStr(applicationEntities));}

1 include 查询指定字段,可以不指定,查询所有字段
2 ApplicationEntity 对应mongo数据库中的一个document

3. 修改

找到要修改的,并修改

  @Testvoid update() {ApplicationDto applicationDto = new ApplicationDto();applicationDto.setId("b8cbf05d102e454784ab85f23704bfb7");applicationDto.setName("测试");applicationDto.setStatus("启用");applicationDto.setIcon("www.tupian");Query query = new Query(Criteria.where("id").is(applicationDto.getId()));Update update = new Update();update.set("fileUrl", applicationDto.getIcon());update.set("name", applicationDto.getName());update.set("status", applicationDto.getStatus());mongoTemplate.updateFirst(query, update, ApplicationEntity.class);List<ApplicationEntity> all = mongoTemplate.findAll(ApplicationEntity.class);System.out.println(JSONUtil.toJsonStr(all));}

4. 删除

找到并删除

    Criteria criteria = Criteria.where("pid").is(applicationDto.getId());mongoTemplate.findAllAndRemove(new Query(criteria), MenuNavigationEntity.class);

5.根据条件查询

相当于
select * from a where id=1 or id =2;

   @Testvoid queryCondition() {Query query1 = new Query(new Criteria().orOperator(Criteria.where("id").is("923406"), Criteria.where("id").is("3518177")));List<MenuNavigationEntity> menuNavigationEntityList = mongoTemplate.find(query1, MenuNavigationEntity.class);System.out.println(JSONUtil.toJsonStr(menuNavigationEntityList));}

6. 关联查询

相当于
select *
from a
left join b on a.id = b.pid;

    @Testvoid queryLink() {LookupOperation lookupOperation = LookupOperation.newLookup().from("menu_navigation")// 副表名称.localField("_id")// 主表关联字段.foreignField("pid")// 副表关联字段.as("menu_navigation");// 副表别名// 聚合条件Aggregation aggregation = Aggregation.newAggregation(lookupOperation,Aggregation.match(Criteria.where("menu_navigation.pid")// 副表关联的主表条件.is("b8cbf05d102e454784ab85f23704bfb7")));AggregationResults<JSONObject> aggregate = mongoTemplate.aggregate(aggregation, ApplicationEntity.class,JSONObject.class);// 条件  主表类型  结果类型List<JSONObject> mappedResults = aggregate.getMappedResults();System.out.println(JSONUtil.toJsonStr(mappedResults));}

7. 索引相关

    @Testvoid index() {MongoCollection<Document> collection = mongoTemplate.getCollection("application");collection.createIndex(new Document("id", "hashed"), new IndexOptions().name("index_id"));// 唯一索引collection.createIndex(new Document("id", "hashed"), new IndexOptions().unique(true).name("index_id"));// 删除指定索引collection.dropIndex("index_id");// 删除所有索引collection.dropIndexes();}

总结

主要是展示了 MongoTemplate 中的CRUD的常规操作和 关联查询,之后会继续学习~~
还有个问题,就是我无法从已经标记为 文档的实体中获取 集合名称嘛? 现在我的代码中的集合名称都是字符串
还有就是字段名称也都是字符串,可以从这个 document 中获取嘛?
实体

http://www.yayakq.cn/news/522305/

相关文章:

  • 装修怎么做网站东营信息港
  • 济南网站运营公司wordpress无法接受邮件
  • 建设能播放视频的网站陕西省建设厅官网证件查询
  • 网站开发 定制 合同范本网站技术的解决方案
  • 搜狗网站收录wordpress电脑端手机端
  • 做系统进化树的网站常州网站制作套餐
  • 深圳网站设计南京在百度怎样建网站
  • 深圳网站优化培训征信网站开发
  • 创业网站模板找做网站的客户
  • 百度网站怎么建设广州哪里有网站开发
  • 一个空间做两个网站的视频教程广州海珠区
  • 台州服务网站长宁品牌网站建设
  • wordpress礼物说主题长沙财优化公司
  • 2017优秀网站设计中国婚纱
  • 手机网站整站源码下载wordpress建站要多久
  • 建网站 行业 销售额直播网站建设需要什么软件
  • 网站建设要些什么百度拍照搜索
  • 网站建没有前景邢台手机网站建设报价
  • 网站域名没有实名认证flash网站建设教程视频
  • 免费宣传网站前端开发培训多久
  • wordpress分享微信插件下载建阳网站建设wzjseo
  • 怎么做出有品牌感的网站wordpress图床首页无缩略图
  • 网站更名策划方案刚刚上海重大宣布
  • 青岛建设网站制作免费商品交易网站代码下载
  • 制作网站用什么代码网站正在建设中中文
  • 建网站哪家质量好网站建设阿里云搭建个人网站
  • 高淳哪家做网站不错保定网站推广
  • 湘潭做网站 都来磐石网络安全优化大师下载
  • 做vip兼职设计师的网站有哪些汕头公众号建设网站
  • 个人建个网站需要多少钱百度浏览器网址是多少