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

无锡企业网站建设报价咸阳网站建设多少钱

无锡企业网站建设报价,咸阳网站建设多少钱,页面看不到网站,传奇类网页游戏大全最近的项目用了Mongodb#xff0c;网上的用法大多都是七零八落的没有一个统一性#xff0c;自己大概整理了下#xff0c;项目中的相关配置就不叙述了#xff0c;由于spring boot的快捷开发方式#xff0c;所以spring boot项目中要使用Mongodb#xff0c;只需要添加依赖和…最近的项目用了Mongodb网上的用法大多都是七零八落的没有一个统一性自己大概整理了下项目中的相关配置就不叙述了由于spring boot的快捷开发方式所以spring boot项目中要使用Mongodb只需要添加依赖和配置application.properties文件即可。整和方式一共有两种一种是JPA的快捷方式还有一种是实现MongoTemplate中的方法。 一、spring boot Mongodb JPA   这种是mongodb的快捷开发方式类似于spring data jpa的操作通过使用spring boot约定的规范来定义名字与HibernateRepository类似通过继承MongoRepository接口我们可以非常方便地实现对一个对象的增删改查要使用Repository的功能先继承MongoRepositoryT, TD接口其中T为仓库保存的bean类TD为该bean的唯一标识的类型一般为ObjectId。之后在service中注入该接口就可以使用无需实现里面的方法spring会根据定义的规则自动生成。 创建一个bean其中id是这种表的主键user就是表的名字 import org.springframework.data.annotation.Id;public class User {Idprivate Long id;private String name;private Integer userage;public Long getId() {return id;}public void setId(Long id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getUserage() {return userage;}public void setUserage(Integer userage) {this.userage userage;}public User(Long id, String name, Integer userage) {super();this.id id;this.name name;this.userage userage;}} View Code 通过jpa的方式实现查找下面介绍最简单的两张和定义规则 import org.springframework.data.mongodb.repository.MongoRepository;public interface UserMongodbJPA extends MongoRepositoryUser, Long{ /*** * 单个条件查询通过名字到数据* 方法名字定义规则* find By条件字段必须是User中的属性*/ListUser findByName(String name);/** * 多个条件查询通过年龄和名字找到数据* 方法名字定义规则* * ind By条件字段必须是User中的属性AND条件字段必须是User中的属性*/ListUser findByUserageAndName(Integer userage,String name ); } View Code 具体的其他命名规则可通过下面的图进行查阅 二、Spring boot  Mongodb原生实现方式      JAP的方式虽然简单快捷但是这种方式只能进行简单的查询操作但是业务中往往需要复杂的逻辑操作这时就不满足我们的需求所以使用原生的方式就能解决复制的逻辑业务。这种方式通过继承MongoRepository接口只需要调用MongoTemplate中的方法即可。   插入数据   MongoTemplate为我们提供了两种方法插入数据insert和save两者的区别就是insert方法如果插入的数据的主键已经存在则会抛出异常save方法插入的数据的主键已经存在则会对当前已经存在的数据进行修改操作。     private MongoTemplate mongoTemplate;/*** insert方法会新增一条数据*/public void insert(){User u new User(1,zhangsan,18);mongoTemplate.insert(u);}/*** save方法如果主键重复则修改原来的数据*/public void save() {User u new User(1,小明,19);mongoTemplate.save(u);} View Code        更新数据      更新一条数据在关系型数据库中我们需要where条件筛选出需要更新的数据并且要给定更新的字段及值在mongodb中也是一样如果要使用筛选条件就必须实例化Query对象。 /*** 要使用原生的mongodb方式就要创建MongoTemplate *他的方法来实现SQL*/ private MongoTemplate mongoTemplate;/*** 更新对象*/public void updateTest() {//用来封装所有条件的对像Query query new Query();//用来构建条件Criteria criteria new Criteria();//criteria.and(你MongoDB中的key).is(你的条件) criteria.and(name).is(小明);//把条件封装起来   query.addCriteria(criteria) ;// Update 中构建更新的内容Update update new Update().set(userage, 15).set(name, 小红);//更新查询返回结果集的第一条mongoTemplate.updateFirst(query,update,MongoTest.class);//更新查询返回结果集的所有mongoTemplate.updateMulti(query,update,User.class); } View Code      删除数据      删除数据和更新数据类似只需要使用MongoTemplate中的remove方法就能实现。 *** 删除对象*、*/public void deleteTestById() {Query querynew Query(Criteria.where(name).is(小红));mongoTemplate.remove(query,User.class);}、 View Code   三、聚合操作    在mysql数据库中我们更多情况我们会使用聚合操作来简便我们的代码列如SUM、count在mongodb的数据库中也是有这样的聚合函数但是这时不在使用Query对象来封装条件而是使用Aggregation对象来实现聚合操作需要注意的是mongoTemplate.aggregate实现的方法返回的是AggregationResults对象。 public AggregationResultsT aggregation(int pageNum, int pageSize, Criteria criteria,String name, String sortName, Sort sort,String tableName)throws BbsException {Aggregation aggregation Aggregation.newAggregation(Aggregation.match(criteria),//用于过滤数据只输出符合条件的文档Aggregation.group(name);//将集合中的文档根据fileID分组可用于统计结果。Aggregation.sort(sort), //将输入文档根据sort排序后输出。Aggregation.skip(pageNum - 1) * pageSize),//在聚合管道中跳过指定数量的文档并返回余下的文档。Aggregation.limit(pageSize),//用来限制MongoDB聚合管道返回的文档数。Aggregation.sum(userage)//用来求和求出userage字段值的和)return mongoTemplate.aggregate(aggregation, tableName, user.class);//tableName表示表的名字 View Code                     转载于:https://www.cnblogs.com/daijiting/p/10083842.html
http://www.pierceye.com/news/413782/

相关文章:

  • 东莞网站营销推广公司移动应用开发案例
  • 妇科医院网站建设怎么做网站建设培训心得体会
  • 网站建设 管理正能量网站入口地址
  • 做网站没有创意Wordpress国际收款
  • 网站推广关键词工具wap网站分享到微信
  • 哪个网站可以给图片做链接做网站的公司在哪
  • 搬瓦工可以长期做网站广告制作开票大类是什么
  • 高级网站开发工信部小企业门户网站建设
  • 网站建站知识秦皇岛汽车网站制作
  • 建站之星极速版app开发需求
  • .net域名可以做银行网站吗做网站用模版
  • 嘉兴市平湖市建设局网站品牌设计公司 知乎
  • jfinal网站开发模板app开发网站
  • 成都和奇乐网站建设公司怎么样研发网站要多久
  • 蓬莱做网站北京宣传片
  • 网站建设 部署与发布wordpress多说插件
  • 池州做网站的公司哪里有网站开发技术
  • 网站建设内容策划外贸软件排行榜前十名
  • 微信官方网站公众平台郸城建设银行网站
  • .net 微信网站开发免费网站建设制作
  • 做网站需要啥备案之类的嘛传统的网站开发模式
  • 杭州网站seo优化最适合女生的专业排名
  • 广州市酒店网站设计交易平台网站怎么做
  • 江苏省示范校建设专题网站网站网页制作公司网站
  • 前海艾爻网站 建设磐安住房和城乡建设部网站
  • 网站程序h5电商seo是什么意思啊
  • 网站赚钱做跨境电商要什么费用
  • wordpress修改文件简单的seo网站优化排名
  • 专业网专业网站建设展示网站建设的ppt
  • 江淮网站开发商城网站 html模板