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

好看的公司网站排版设计江苏住房和城乡建设厅网站报考

好看的公司网站排版设计,江苏住房和城乡建设厅网站报考,友邦zh200安装视频,郑州的网络科技有限公司1. 前言#x1f525; 前几期我们有介绍Mysql、Redis等数据库介绍及实战演示#xff0c;对基本的数据存放有很好的共性#xff0c;但是如果说遇到大面积的xml、Json、bson等格式文档数据存放#xff0c;以上数据库并非是最优选择#xff0c;最优选择是Mongodb数据库。 那么… 1. 前言 前几期我们有介绍Mysql、Redis等数据库介绍及实战演示对基本的数据存放有很好的共性但是如果说遇到大面积的xml、Json、bson等格式文档数据存放以上数据库并非是最优选择最优选择是Mongodb数据库。 那么SpringBoot具体如何集成MongoDB呢这将又会是干货满满的一期全程无尿点不废话只抓重点教具有非常好的学习效果拿好小板凳准备就坐希望学习的过程中大家认真听好好学学习的途中有任何不清楚或疑问的地方皆可评论区留言或私信bug菌将第一时间给予解惑那么废话不多说直接开整Fighting  2. 环境说明 本地的开发环境 开发工具IDEA 2021.3JDK版本 JDK 1.8Spring Boot版本2.3.1 RELEASEMaven版本3.8.2 3. 概念  3.1 什么是MongoDB MongoDB是一个开源、高性能、无模式的文档型数据库是NoSQL数据库产品中的一种。且与关系数据库的最为相像的。它是一个文档数据库它的数据以文档方式进行存储将数据存储在类似 JSON 的 BSON 文档中所以它既可以存储比较复杂的数据类型又相当的灵活因此可以存储比较复杂的数据类型。 3.2 MongoDB有什么特点 Mongo 最大的特点就是支持查询语言非常强大其语法有点类似于面向对象的查询语言几乎可以实现类似关系数据库单表查询的绝大部分功能而且还支持对数据建立索引这点我们下文会重点演示介绍。 4. SpringBoot集成演示 4.1 添加依赖 在你的 pom.xml 中引入mongodb依赖。从依赖包结构上可以看出又是spring-data的子项目之前介绍过spring-data-jpa、spring-data-redis对于mongodb的访问spring-data也提供了强大的支持下面就开始动手试试吧。 !--集成mongodb-- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-mongodb/artifactId /dependency 安装完mongodb的依赖之后就可以开始我们的实践了 4.2 常用注解 4.2.1 Document 在MongoDB中对于常见的关系型数据库如Mysql、Oracle等一些术语略有不同但实则一个意思统计如下展示 SQL术语 MongoDB术语 database database table collection row document column field 如果类名和实际Collection名称不一致大小写忽略则需要进行说明反之则不需要。 4.2.2 Id 使用该注解标注的字段将映射为MongoDB中的_id也就是默认的主键。若当前实体类没有使用Id注解则默认将字段名为id的字段映射为_id。注意使用这个注解的字段类型可以为String或者ObjectId。使用该注解需引入org.springframework.data.annotation.Id。代码如下 //此处不用该注解也可以id会自动映射为_id Id private Long id; 4.2.3 Field 使用该注解我们可以将类中名称不一致的字段进行映射。假如在我们的类中createDate采用了驼峰式命名但我们希望映射为create_date就可以使用该注解代码如下。 Field(create_date) private String createDate; 4.3 代码集成 4.3.1 创建用户实体 MongodbUser 参考代码如下 Data NoArgsConstructor//无参构造 AllArgsConstructor//全参构造 Document(collection user)//Document注解表明对应了MongoDB中的user表。 public class MongodbUser {Idprivate Long id;private String username;private Integer age; } 4.3.2 创建数据访问对象MongodbUserRepository 创建数据访问对象MongodbUserRepository代码参考如下 package com.example.demo.service;import com.example.demo.entity.MongodbUser; import org.springframework.data.mongodb.repository.MongoRepository;/*** version 1.0* date 2023/7/13 16:46*/ public interface MongodbUserRepository extends MongoRepositoryMongodbUser, Long {//根据用户名查询MongodbUser findByUsername(String username); }这里我们直接继承MongoRepository类理由是使用方式相对简单这样 MongodbUserRepository 接口就具备了通用的数据访问控制层的能力(简单的crud操作功能)复杂的crud操作可以通过自行封装MongoTemplate来实现。具体使用我会放到书写测试用例时进行重点介绍及演示。 拓展上文介绍过Mongodb也是以Spring Date为中心的方法基于所有Spring数据项目中众所周知的访问模式都会提供更加灵活和复杂的api操作MongoRepository就是起自带封装的,继承 PagingAndSortingRepository实现一组 mongodb规范相关的方法. 缺陷MongoRepository不够灵活复杂crud操作只能通过MongoTemplate(跟Mybatis类似)来实现其实对mongodb本身熟悉的话使用MongoTemplate会更加游刃有余MongoTemplate是Spring Data MongoDB封装的MongoDB官方Java驱动它更加接近原生mongodb命令。 4.3.3 参数配置 在application.yml文件中添加MongoDB数据库连接参数连接信息参考如下 spring:data:mongodb:host: 127.0.0.1 #指定MongoDB服务地址port: 27017 #指定端口默认就为27017database: test #指定使用的数据库(集合) 由于我是使用了默认的数据库(test)也没设置数据库用户名跟密码所以直接指定ip加端口号配置即可。 4.4 编写单元测试 4.4.1 Query对象 在编写单元测试之前我先给大家着重介绍下Query对象的使用方法具体如下 1.创建一个query对象用来封装所有条件对象)再创建一个criteria对象用来构建条件代码演示如下 Query query new Query(Criteria.where(id).is(id)); 2.精准条件criteria.and(key).is(条件) 3.模糊条件criteria.and(key).regex(条件) 4.封装条件query.addCriteria(criteria) 5.大于Criteria gt Criteria.where(key).gt(条件) 6.小于Criteria lt Criteria.where(key).lt(条件) 7.范围查询query.addCriteria(Criteria.where(key).gte(条件).lte(条件) 如下我分别给同学们演示一下集成MongoDB下的增删改查操作。 4.4.2 新增数据 新增三条数据。 Test public void insertTest(){mongodbUserRepository.deleteAll();// 创建三个User并验证User总数mongodbUserRepository.save(new MongodbUser(1L, 赵云, 30));mongodbUserRepository.save(new MongodbUser(2L, 貂蝉, 40));mongodbUserRepository.save(new MongodbUser(3L, 李白, 50));Assertions.assertEquals(3, mongodbUserRepository.findAll().size()); } test-case 测试用例执行后我们通过可视化界面进行再次校验果真三条数据都保存入库了。截图请看如下 4.4.3 删除数据 操作删除其中id1的数据testcese 代码参考如下: //删除数据 Test public void deleteByIdTest(){mongodbUserRepository.deleteById(1L);Assertions.assertEquals(2, mongodbUserRepository.findAll().size()); } test-case 测试用例执行后我们通过可视化界面进行再次校验果真id为1的那条数据被删除了。截图如下请看 4.4.4 更新数据 这里我们 用到了使用Query和Update构造函数更新条件和更新内容,testcese 代码参考如下: //修改数据 Test public void updateByIdTest() {// 使用Query和Update构造更新条件和更新内容Long id 2L;Integer age 99;Query query new Query(Criteria.where(id).is(id));Update update new Update().set(age, age);mongoTemplate.updateFirst(query, update, MongodbUser.class); } test-case 测试用例执行后我们通过可视化界面进行再次数据校验经二次校验id为2的那条数据中的age值从40更新为了新值证明更新成功。截图请看如下 拓展 Query query new Query() 相当于mysql的select Criteria criteria new Criteria();里的criteria 相当于where后的条件 实体类相当于表名上面的理解就相当于select * from table where xxxx MongoDb的增删改查都要调用Query query new Query() 4.4.5 条件查询 操作根据用户名 李白 进行条件查询testcese 代码参考如下: //根据用户名指定查询 Test public void queryByNameTest() {//指定查询Query query new Query(Criteria.where(username).is(李白));System.out.println(mongoTemplate.find(query, MongodbUser.class)); } 我们从控制台可以看到查询为用户名李白的数据被打印出来了与预期结果一致。 4.4.6 组合条件查询 操作查找年龄在 [3060] 之间的数据testcese 代码参考如下: 代码逻辑跟更新数据一致我们还是得利用Query和Criteria构造查询条件使用MongoTemplate的find方法查询符合条件的数据集合。 //根据年龄范围查询 Test public void queryByNameTest() {//范围查询Query query new Query();query.addCriteria(Criteria.where(age).gte(30).lte(60));System.out.println(mongoTemplate.find(query, MongodbUser.class)); } 我们从控制台可以看到查询出符合30 4.4.7 小结 总的来说集成MongoDB和SpringBoot可以为Web应用程序提供高性能和可伸缩性的数据库系统。但是在使用MongoDB时需要注意其内存占用和数据一致性等问题这点是需要自己去衡量的到底采用那种数据库来支撑数据存储以达到使用最优。 5. 与Mysql对比 MySQL与MongoDB都是开源的常用数据库之一但是MySQL是典型传统的关系型数据库MongoDB则是非关系型数据库也叫文档型数据库是一种非关系型的数据库。它们各有各的优缺点下面是我梳理总结出来的它两之间的对比同学们请看 ​ 6. 热文推荐 滴~如下推荐【Spring Boot 进阶篇】的学习大纲请小伙伴们注意查收。 Spring Boot进阶(01)Spring Boot 集成 Redis实现缓存自由 Spring Boot进阶(02)使用Validation进行参数校验 Spring Boot进阶(03)如何使用MyBatis-Plus实现字段的自动填充 Spring Boot进阶(04)如何使用MyBatis-Plus快速实现自定义sql分页 Spring Boot进阶(05)Spring Boot 整合RabbitMq实现消息队列服务 Spring Boot进阶(06)Windows10系统搭建 RabbitMq Server 服务端 Spring Boot进阶(07)集成EasyPoi实现Excel/Word的导入导出 Spring Boot进阶(08)集成EasyPoi实现Excel/Word携带图片导出 Spring Boot进阶(09)集成EasyPoi实现Excel文件多sheet导入导出 Spring Boot进阶(10)集成EasyPoi实现Excel模板导出成PDF文件 Spring Boot进阶(11)Spring Boot 如何实现纯文本转成.csv格式文件 Spring Boot进阶(12)Spring Boot 如何获取Excel sheet页的数量 Spring Boot进阶(13)Spring Boot 如何获取ApiModelProperty(value “序列号“, name “uuid“)中的value值name值 Spring Boot进阶(14)Spring Boot 如何手动连接库并获取指定表结构一文教会你 Spring Boot进阶(15)根据数据库连接信息指定分页查询表结构信息 Spring Boot进阶(16)Spring Boot 如何通过Redis实现手机号验证码功能 Spring Boot进阶(17)Spring Boot如何在swagger2中配置header请求头等参数信息 Spring Boot进阶(18)SpringBoot如何使用Scheduled创建定时任务 Spring Boot进阶(19)Spring Boot 整合ElasticSearch Spring Boot进阶(20)配置Jetty容器 Spring Boot进阶(21)配置Undertow容器 Spring Boot进阶(22)Tomcat与Undertow容器性能对比分析 Spring Boot进阶(23)实现文件上传 Spring Boot进阶(24)如何快速实现多文件上传 Spring Boot进阶(25)文件上传的单元测试怎么写? Spring Boot进阶(26)Mybatis 中 resultType、resultMap详解及实战教学 Spring Boot进阶(27)Spring Boot 整合 kafka(环境搭建演示) Spring Boot进阶(28)Jar包Linux后台启动部署及滚动日志查看日志输出至实体文件保存 Spring Boot进阶(29)如何正确使用PathVariableRequestParam、RequestBody等注解不会我教你结合Postman演示 Spring Boot进阶(30)RestController和Controller 注解使用区别实战演示 ... 7. 文末 如果想系统性的学习Spring Boot小伙伴们直接订阅bug菌专门为大家创建的Spring Boot专栏《滚雪球学Spring Boot》从入门到精通从无到有从零到一以知识点实例项目的学习模式由浅入深对Spring Boot框架进行学习使用。 如果你有一定的基础却又想精进Spring Boot那么《Spring Boot进阶实战》将会是你的最好的选择此栏进行知识点实例项目的学习方式全面深入框架剖析及各种高阶玩法励志打造全网最全最新springboot学习专栏投资学习自己性价比最高。 本文涉及所有源代码均已上传至github开源供同学们一对一参考GitHub同时原创开源不易欢迎给个star想体验下被加Star的感jio非常感谢 ❗ 我是bug菌一名想走出大山改变命运的程序猿。接下来的路还很长都等待着我们去突破、去挑战。来吧小伙伴们我们一起加油未来皆可期fighting ​ 关注公众号获取最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等硬核资源
http://wiki.neutronadmin.com/news/34181/

相关文章:

  • 装修上什么网站比较好网站的注册页面怎么做
  • 做电商网站一般需要什么流程吉林 网站备案 照相
  • 网站登记查询临沂最好的做网站公司
  • 站长统计推荐企业老板培训课程
  • 网站内链seo建设银行河北分行官网招聘网站
  • 在一个城市做相亲网站企业官网开源
  • 有没有做3d衣服模型网站p站代理网址
  • 临沂网站公司生肖竞猜网站建设
  • 建设银行激活社保卡网站内容管理系统开源
  • 哪个视频网站做视频赚钱开平网站建设
  • 做试试彩网站深圳航空有限公司官网
  • 成都网站建设工资小学校园门户网站建设
  • 做网站的要求网站常州建设
  • 手机nfc网站开发python开源网站源码
  • wordpress外贸网站建站教程鹤壁市城乡一体化示范区网站
  • 网站建设费专票会计分录ps加dw做网站视频
  • 网站做360推广需要什么条件网站建设价格标准案例
  • 济南网站建设咨 询小七网页制作基础教程第2版答案
  • 建材网站建设功能方案免费咨询法律援助该打什么电话
  • 官方网站下载12306中国网络经纪人
  • 达州网站建设qinsanw教务管理系统下载
  • 海南那个网站可以做车年检wordpress 专用主机
  • 诚信通国际网站怎么做微信群营销方案
  • 临沂医院手机网站建设wordpress如何上传附件
  • 网站程序是什么?电脑记事本做复杂网站
  • 平顺网站建设微信html5模板网站
  • 网站建设主机的功能网站建设一条龙服务
  • 建设网站经营范围企业网站优化的弊端
  • 有口碑的顺德网站建设湘潭网页定制
  • 国外免费网站dedecms建站教程