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

腾讯做网站企业信息系统类型

腾讯做网站,企业信息系统类型,it初学者做网站,荆门网站建设电话咨询前言 通过Elasticsearch整合章节的学习#xff0c;我们了解SpringData框架以及相应的衍生查询的方式操作数据读写的语法。MongoDB的相关操作也同样是借助Spring Data框架#xff0c;因此这篇文章的内容比较简单#xff0c;重点还是弄清楚MongoDB的使用场景以及如何通过Sprin…前言 通过Elasticsearch整合章节的学习我们了解SpringData框架以及相应的衍生查询的方式操作数据读写的语法。MongoDB的相关操作也同样是借助Spring Data框架因此这篇文章的内容比较简单重点还是弄清楚MongoDB的使用场景以及如何通过Spring Data来操作MongoDB。希望对正在学习的小伙伴有帮助~~~ 文章目录 前言 一、整合MongoDB实现文件存储  1.1 MongoDB的应用场景 1.2 Window下Docker安装 1.3 基本概念 1.4 MongoRepository 1.5 常用注解 1.6 浏览历史记录的实现流程 总结 一、整合MongoDB实现文件存储  MongoDB是一个由C语言编写的基于分布式文件存储的数据库它是非关系数据库中功能最丰富最像关系数据库的。它支持的数据结构非常松散是类似json的bson格式因此可以存储比较复杂的数据类型。总的来说MongoDB是文档型的NoSQL数据库数据以文档对应关系型数据库的记录的形式在MongoDB中保存数据结构由Key-Value键值对组成。 1.1 MongoDB的应用场景 在传统的关系型数据库中对于已经成倍增加的个人信息社交网络地理位置操作日志等用户数据进行数据挖掘显得有点吃力NoSQL数据库可以比较好的处理这些数据量大的数据。而MongoDB作为一种NoSQL数据库相比于关系型数据库更能满足要求更高的数据存储需求比如High performance数据库高并发读写需求、Huge Storage海量数据的高效率存储和访问的需求、High Scalability High Availability对数据库的高可扩展性和高可用性的需求。 总结起来MongoDB适用的场景一般有如下的三个特点 并发要求高且读写频繁数据量大数据价值较低对事务要求不高 一般用在存储用户浏览记录、日志记录、游戏中的用户数据、社交工具中的用户数据、第三方信息的抓取存储等。  1.2 Window下Docker安装 安装mongodb的步骤可以参考下面的文章 https://developer.aliyun.com/article/999689 这里我的安装命令是这样的 #拉取镜像 docker pull mongo:4.2.5#启动容器并分配持久化数据卷 docker run -p 27017:27017 --name mongo ^ -v 你想要的持久化数据卷的数据保存地址^ -d mongo:4.2.5 --auth#进入容器的命令 docker exec -it mongo mongo 1.3 基本概念 名词  对于不同数据库中的名词我们还是有必要对比着来记忆 SQLMongoDB含义 database database 数据库 table collection 数据库表 | 集合 row document 数据记录行 | 文档 column field 数据字段 | 域 index index 索引 primary key primary key 主键,MongoDB自动将_id字段设置为主键 基本命令 //使用数据库 use test //插入数据 db.article.insert({name:MongoDB}) //删除数据库 db.dropDatabase() //查看所有的数据库 show dbs//集合命令 db.createCollection(lzddl) show collections db.article.drop()//文档命令 //插入db.集合对象.insert(文档对象) db.collection.insert(document) //获取所有文档db.集合对象.find({}) db.collection.find({}) //查询指定文档 db.collection.find(query, projection) /* *更新文档 */ db.collection.update(query,update,{multi: boolean} ) // query修改的查询条件类似于SQL中的WHERE部分 // update更新属性的操作符类似与SQL中的SET部分 // multi设置为true时会更新所有符合条件的文档默认为false只更新找到的第一条db.collection.save(document)//删除 db.collection.remove({title:MongoDB}) 1.4 MongoRepository接口 在脚手架的场景中我们使用MongoDB来实现会员商品浏览历史记录的存储。与前面的Elasticsearch的使用相同我们还是借助Spring Data框架来操作相应的数据读写操作。在上一篇文章中荔枝也对Spring Data提供的Repository接口及其子接口的关系及其各自的功能做了梳理可以在荔枝的项目学习专栏中找到 项目学习_荔枝当大佬的博客-CSDN博客 跟ES中提供的接口ElasticsearchRepository类似Spring Data也提供了一个MongoRepository接口通过继承该接口并在其中定义抽象的衍生查询方法我们就可以实现Spring操作MongoDB数据库的读写数据操作。还是老规矩我们来看看接口的继承关系 ​ 这里我们了解一下新出现的QueryByExampleExecutor接口该接口是一个查询接口我们可以通过使用实体类的示例对象来构建查询条件并且只提供需要用于查询的非空字段而其他字段会被忽略。我们使用该接口中的方法时仅需要一个Example对象这个Example类型的对象包含传进来的实体类probe、匹配规则matcher。 ​这里有一篇写的不错的源码剖析https://blog.csdn.net/listeningsea/article/details/122378964 有兴趣的话可以看看~~~ 使用的方法包括继承接口都是类似的我们可以通过衍生查询来定义一个按照时间倒序获取用户浏览记录方法 public interface MemberReadHistoryRepository extends MongoRepositoryMemberReadHistory,String {/*** 根据会员id按时间倒序获取浏览记录* param memberId 会员id*/ListMemberReadHistory findByMemberIdOrderByCreateTimeDesc(Long memberId); } 通过Spring Data框架的整合我们确实在操作不同的中间件的数据读写的时候变得更加的简单了 1.5 常用注解 名称作用 Document 标示映射到MongoDB文档上的领域对象 Id 标示某个字段为ID域 Indexed 标示某个字段为MongoDB的索引字段 Field 配置MongoDB持久化保存文档时要使用的字段的名称 CompoundIndex 复合索引加复合索引后通过复合索引字段查询将大大提高速度。 GeoSpatialIndexed 地理位置索引 TextIndexed 全文索引 1.6 浏览历史记录的实现流程 首先我们需要定义好一个实体类存放用户的浏览记录的历史信息。  /*** auther lzddl* description 用户商品浏览历史记录*/ Data EqualsAndHashCode Document public class MemberReadHistory {Idprivate String id;Indexedprivate Long memberId;private String memberNickname;private String memberIcon;Indexedprivate Long productId;private String productName;private String productPic;private String productSubTitle;private String productPrice;private Date createTime; }接着在功能接口的实现类中调用继承MongoRepository接口的MemberReadHistoryRepository接口中的抽象衍生查询方法以及相应的父类接口继承下来的方法实现用户浏览数据的读写操作。比如创建用户浏览数据的功能方法 Autowiredprivate MemberReadHistoryRepository memberReadHistoryRepository;Overridepublic int create(MemberReadHistory memberReadHistory) {memberReadHistory.setId(null);memberReadHistory.setCreateTime(new Date());memberReadHistoryRepository.save(memberReadHistory);return 1;}具体来说创建浏览记录我们会调用MemberReadHistoryRepository下的save()将实体类对象直接存储到MongoDB中批量删除调用的是deleteAll将包含要删除的用户浏览数据memberReadHistory对象从MongoDB中删除而对于展示所有的用户浏览数据我们也在衍生查询中定义相关操作。 总结 在这篇文章中荔枝主要梳理了MongoDB整合进mall脚手架的知识点内容不多但还是要与前面的博客联系在一起看会比较好哈哈哈。接下来荔枝会继续将最后的两个中间件的场景和整合过程中梳理的知识进行总结。 今朝已然成为过去明日依然向往未来我是荔枝在技术成长之路上与您相伴~~~ 如果博文对您有帮助的话可以给荔枝一键三连嘿您的支持和鼓励是荔枝最大的动力 如果博文内容有误也欢迎各位大佬在下方评论区批评指正
http://www.sadfv.cn/news/330426/

相关文章:

  • 电商网站建设建议哈尔滨菜牌制作
  • 萍乡网站推广近一个星期的新闻大事
  • 申请建设网站经费申请挂机宝怎么做网站
  • 青岛网站建站wordpress设置icon
  • 哪里可以做期货网站平台公司装修方案
  • 云平台网站建设方案书驻马店网站开发公司
  • 请别人做网站注意事项淘宝联盟必须要网站备案
  • seo网站监测手机与pc的网站开发
  • 购物网站域名大小商城购物网站开发背景
  • 盘锦市住房和城乡建设厅网站3gcms企业手机网站整站源码asp
  • 杭州做网站的集团如何制作网站板块
  • 学校的网站怎么做东莞常平中学智慧校园应用中心
  • 西安好的皮肤管理做团购网站石家庄网络公司代理
  • 高权重域名做网站哈尔滨网站建设v5star
  • 哪个网站做签约设计师比较好做企业网站开发哪家好
  • 模版网站搭建四川成都最新新闻事件今天
  • 网站建设会计域名跟网站的区别吗
  • 网站开发视频会议插件中小企业名录查询官网
  • 佛山市外贸网站建设价格网站建设方案 安全
  • 二建转注辽宁建设主管部门网站无极ip
  • html用表格来做网站布局网络运营可以自学吗
  • 承装承修承试材料在哪个网站做电子商务网站建设与管理目录
  • 做平面设计都在那个网站找免费素材广州网站设计哪里好
  • 需要推销自己做网站的公司营销网站建设视频
  • 有哪些可以做h5的网站jsp做的零食小网站
  • 模板网站音响案例网站页面设计大小
  • 打开网页时网站顶部显示广告随后消失的广告怎么做随州做网站公司
  • 公司做的网站费用如何做账北京专业网站设计公司
  • 品牌网站建设营销型网站设计一个网站域名的组成
  • 大型门户网站建设哪便宜网站开发方案及报价