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

西藏自治区网站建设_网站建设公司_数据统计_seo优化

做自媒体查找素材的网站,阿里巴巴全球采购网,网站开发 项目的招标文件,有效的网络编制方案有我是Spring Boot的粉丝#xff0c;这是Spring Boot上的mongodb示例项目。 大多数mongodb示例项目是如此基础#xff0c;以至于您不会太过分。 您可以搜索普通的Spring Data示例#xff0c;但是它们可能比您想要的复杂得多。 所以这是我的。 这是我要使用的pom。 !--?… 我是Spring Boot的粉丝这是Spring Boot上的mongodb示例项目。 大多数mongodb示例项目是如此基础以至于您不会太过分。 您可以搜索普通的Spring Data示例但是它们可能比您想要的复杂得多。 所以这是我的。 这是我要使用的pom。 !--?xml version1.0 encodingUTF-8?-- project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemalocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelversion4.0.0/modelversiongroupidcaught.co.nr/groupidartifactidboottoymongodb/artifactidversion1.0-SNAPSHOT/versionpackagingwar/packaging!-- Inherit defaults from Spring Boot --parentgroupidorg.springframework.boot/groupidartifactidspring-boot-starter-parent/artifactidversion1.0.0.BUILD-SNAPSHOT/version/parentdependenciesdependencygroupidorg.springframework.boot/groupidartifactidspring-boot-starter-data-mongodb/artifactid/dependency/dependencies!-- Needed for fat jar --buildpluginsplugingroupidorg.springframework.boot/groupidartifactidspring-boot-maven-plugin/artifactid/plugin/plugins/buildrepositoriesrepositoryidspring-snapshots/idnameSpring Snapshots/nameurlhttp://repo.spring.io/snapshot/urlsnapshotsenabledtrue/enabled/snapshots/repository/repositoriespluginrepositoriespluginrepositoryidspring-snapshots/idurlhttp://repo.spring.io/snapshot/url/pluginrepository/pluginrepositories /project 我唯一需要的依赖项是“ spring-boot-starter-data-mongodb”其中包含spring boot mongodb项目的所有必需依赖项。 接下来是我的收藏的模型。 文档注释指向我的收藏集名为“产品”。 仅当您的型号名称与集合名称不匹配时才需要。 您可以看到一个字段注释该注释将集合中的字段名称映射到模型的字段名称。 Document(collection products) public class Product {Idprivate String id;private String sku;Field(value material_name)private String materialName;private Double price;private Integer availability;public String getId() {return id;}public void setId(String id) {this.id id;}public String getSku() {return sku;}public void setSku(String sku) {this.sku sku;}public String getMaterialName() {return materialName;}public void setMaterialName(String materialName) {this.materialName materialName;}public Double getPrice() {return price;}public void setPrice(Double price) {this.price price;}public Integer getAvailability() {return availability;}public void setAvailability(Integer availability) {this.availability availability;}Overridepublic String toString() {return Product{ id id \ , sku sku \ , materialName materialName \ , price price , availability availability };} } 不需要我们将需要DAO层来操纵我的数据。 如果要在DAO层中使用自动生成的查找方法MongoRepository是我应该实现的接口。 这些自动生成的方法可以查询模型的每个字段。 有关方法名称语法的完整列表请参见此处 。 我在下面的查询将使用一个sku名称并在我的集合中搜索该名称并返回匹配的名称。 public interface ProductRepository extends MongoRepository Product, String {public List Product findBySku(String sku); } 现在我将介绍一个服务该服务将调用我的DAO接口。 但是请稍等我没有实现此接口而是编写了必要的代码以获取模型对吗 是的这些方法是自动生成的我不需要此接口的实现。 Service public class ProductService {Autowiredprivate ProductRepository repository;public List Product getSku(String sku){return repository.findBySku(sku);} } 接下来启动我们的Boot示例。 这是我们的主要课程 Configuration EnableAutoConfiguration ComponentScan public class BootMongoDB implements CommandLineRunner {Autowiredprivate ProductService productService;private static final Logger logger LoggerFactory.getLogger(BootMongoDB.class);public void run(String... args) throws Exception {List Product sku productService.getSku(NEX.6);logger.info(result of getSku is {}, sku);}public static void main(String[] args) throws Exception {SpringApplication.run(BootMongoDB.class, args);} } 如果您连接到mongodb实例并且sku与您搜索的名称匹配那么您将看到一个或多个产品。 我们所做的是非常基本的。 如果我要更复杂的查询怎么办 例如如果我想要一个特定的SKU其可用性等于“ 1” 我不能不使用一些Query魔术来做到这一点。 所以我要更新我的DAO类。 public interface ProductRepository extends MongoRepository Product, String {public List Product findBySku(String sku);Query(value {sku: ?0, availability : 1})public List Product findBySkuOnlyAvailables(String sku); } 我为mongodb提供了直接查询其中方法签名中的sku将插入查询中的“0”并将被发送到mongodb。 您可以先更新服务然后再更新主要方法以查看其是否有效。 如果您对mongodb的语法不太熟悉那么您可能不喜欢编写可读性不强的查询。 然后是时候添加自定义DAO类了。 除了自动生成的方法外无法向ProductRepository添加和使用其他方法。 因此我们将添加几个类并提供一个不错的精选方法。 我们的存储库类名为“ ProductRepository”。 我们将添加一个名为“ ProductRepositoryCustom”的新接口和一个新方法该方法将为给定名称找到可用的骨架findBySkuOnlyAvailables方法的双胞胎。 public interface ProductRepositoryCustom {public List Product findBySkuOnlyAvailablesCustom(String sku); } 然后为此提供一个实现。 在下面您看到我们注入了ProductRepositoryCustom的mongotemplate并对其进行了处理。 我们创建两个条件。 第一个用于sku名称第二个用于可用性。 public class ProductRepositoryImpl implements ProductRepositoryCustom {Autowiredprivate MongoTemplate mongoTemplate;public List Product findBySkuOnlyAvailablesCustom(String sku) {Criteria criteria Criteria.where(sku).is(sku). andOperator(Criteria.where(availability).is(1));return mongoTemplate.find(Query.query(criteria), Product.class);} } 定制实现的最后一步是ProductRepository类的更新。 正如您在下面看到的我唯一需要的更新是添加了ProductRepositoryCustom以便我们可以将它们链接在一起。 所有这些命名听起来都有些愚蠢。 但是请注意尽管自定义接口的名称并不重要但是实现名称的更改将导致引发异常 Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property only found for type String! Traversed path: Product.sku. 要解决此问题请确保实现类的名称为“ ProductRepositoryImpl”这是扩展MongoRepository和“ Impl”的接口名称的串联。 public interface ProductRepository extends MongoRepository Product, String, ProductRepositoryCustom 如果我们将新方法添加到服务层 Service public class ProductService {Autowiredprivate ProductRepository repository;public List Product getSku(String sku){return repository.findBySku(sku);}public List Product getAvailableSkuCustom(String sku){return repository.findBySkuOnlyAvailablesCustom(sku);} } 然后更新我们的主类的run方法 public void run(String... args) throws Exception {List Product sku productService.getSku(NEX.6);logger.info(result of getSku is {}, sku);List Product availableSkuCustom productService.getAvailableSkuCustom(NEX.6);logger.info(result of availableSkuCustom is {}, availableSkuCustom);} 同样您必须在日志中看到一些内容 您可以在github上检查整个项目。 翻译自: https://www.javacodegeeks.com/2014/05/rocking-with-mongodb-on-spring-boot.html
http://www.lebaoying.cn/news/133671.html

相关文章:

  • 表白网站在线生成平面设计师证书
  • 网站美工培训机构网站建设软件sh
  • 网站开发及维护费用网页设计培训
  • 网站建设忄金手指稳定中国设计公司排名前十强
  • 最新章节 第四百六十二章 花两亿做的网站网站建设的维护与更新
  • 外贸网站制作公司免费游戏直接进入
  • 免费个人网站域名注册安徽炒股配资网站开发
  • 深圳龙岗企业网站建设阆中网站网站建设
  • 女与男做那个的视频网站廊坊app开发公司
  • 做一个国外的网站大连seo推广优化
  • 微信建设银行官方网站定制开发企业
  • 建设网站的主要功能有哪些沈阳做网站比较好的公司
  • 济南建设工程交易网网站关键字优化工具
  • 网站开发运营手机网页制作作品
  • 郑州网站建设有限公司金寨县建设规划局网站
  • 网站优化 检测响应速度广告设计与制作是做什么的
  • 长沙专业网站建设公司哪家好wordpress 相亲主题
  • 家政网站开发低代码开发公众号
  • 怎样找回网站域名密码外贸网络营销实战
  • 网站开发的基本流程 岗位及职责自己买一台服务器做自己的网站
  • 做网站的公司金坛wordpress 修改评论列表
  • 特网站建设网站建设网银
  • 石岩做网站的公司qq空间网页版登录入口
  • asp网站开发基础微信商城开店步骤
  • 网站内链规划百度云盘下载
  • 株洲 网站建设商城网站开发模板
  • 莲都区建设分局网站郑州少儿编程培训机构
  • 网站前台空白南京专业网站设计公司价格
  • 易点租电脑租赁官网网站seo
  • 顶尖网站建设网站建设化学图片