- 浏览: 496121 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
Spring Data MongoDb Repository 简单使用例子
1.使用Spring Data MongoDb Repository可以使你不用写相关的查询组合语句,它会内部为我们实现这样的一个类。
2.只要你按规定定义好接口名就可以免去你写查询组合语句。
3.要有主键值才可以用save(有就更新,没有就插入)。所以就算没有ID也增加这个字段是好的。(id要是String才会自动为你生面ID号(保存时可以没有值),int 要你自己做惟一处理和输入值)
4.DATE不能作为主键使用。
applicationContext.xml
参考原文(英文参考文档):https://docs.mongodb.com/manual/reference/sql-comparison/
1.使用Spring Data MongoDb Repository可以使你不用写相关的查询组合语句,它会内部为我们实现这样的一个类。
2.只要你按规定定义好接口名就可以免去你写查询组合语句。
3.要有主键值才可以用save(有就更新,没有就插入)。所以就算没有ID也增加这个字段是好的。(id要是String才会自动为你生面ID号(保存时可以没有值),int 要你自己做惟一处理和输入值)
4.DATE不能作为主键使用。
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.9.3.RELEASE</version> </dependency>
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mongo="http://www.springframework.org/schema/data/mongo" xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd"> <context:annotation-config /> <!-- <task:annotation-driven /> --> <context:component-scan base-package="com" /> <mongo:mongo host="localhost" port="27017" > <!-- 可选项如果不配置则为值为默认 --> <mongo:options connections-per-host="8" threads-allowed-to-block-for-connection-multiplier="4" connect-timeout="1000" max-wait-time="1500" auto-connect-retry="true" socket-keep-alive="true" socket-timeout="1500" slave-ok="true" write-number="1" write-timeout="0" write-fsync="true" /> </mongo:mongo> <mongo:db-factory id="anotherMongoDbFactory" host="localhost" port="27017" dbname="admin" username="admin" password="admin" mongo-ref="mongo"/> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg name="mongoDbFactory" ref="anotherMongoDbFactory" /> </bean> <!-- mongodb bean的仓库目录,会自动扫描扩展了MongoRepository接口的接口进行注入 --> <mongo:repositories base-package="com.mongorepository" /> </beans>
package com; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; @Document(collection = "userTest") //collection指定名字,不指定为类名 public class UserTest { @Id private String id; @Indexed(unique = true) private String name; private String age; private String address; private String high; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getHigh() { return high; } public void setHigh(String high) { this.high = high; } @Override public String toString() { return "Person [id=" + id + ", name=" + name + ", age=" + age + ", address=" + address + ", high=" + high + "]"; } }
package com.mongorepository; import java.util.List; import org.springframework.data.mongodb.repository.MongoRepository; import com.UserTest; public interface UserTestRepository extends MongoRepository<UserTest, String>{ public UserTest findById(String id); //只定义接口就可以了,以By为开头定义接口名 public List<UserTest> findByName(String name); }
package com; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Service; import com.mongorepository.UserTestRepository; @Service("personService") public class PersonServiceImpl { @Autowired private UserTestRepository userTestRepository; //会自动注入实现这个接口的类 @Autowired private MongoTemplate mongoTemplate; // 方便复杂功能实现 public UserTestRepository getUserTestRepository() { return userTestRepository; } public void setUserTestRepository(UserTestRepository userTestRepository) { this.userTestRepository = userTestRepository; } public MongoTemplate getMongoTemplate() { return mongoTemplate; } public void setMongoTemplate(MongoTemplate mongoTemplate) { this.mongoTemplate = mongoTemplate; } }
package com; import java.util.List; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MongoTest { public static void main(String[] args) throws InterruptedException { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/applicationContext.xml"); PersonServiceImpl personServiceImpl = (PersonServiceImpl) applicationContext.getBean("personService"); System.out.println(personServiceImpl); UserTest userTest = new UserTest(); userTest.setAddress("setAddress"); userTest.setName("Name"); userTest.setAge("setAge"); userTest.setHigh("setHigh"); personServiceImpl.getUserTestRepository().insert(userTest); List<UserTest> userTestList = personServiceImpl.getUserTestRepository().findAll(); System.out.println("userTestList == " + userTestList.toString()); userTestList = personServiceImpl.getUserTestRepository().findByName("Name"); System.out.println("userTestList == " + userTestList.toString()); } }
参考原文(英文参考文档):https://docs.mongodb.com/manual/reference/sql-comparison/
发表评论
-
mongodb的mapreduce
2017-01-09 15:23 457mongodb的mapreduce 工作原理: 1.里面有 ... -
MongoDB 并发与锁机制
2016-12-05 09:42 2531MongoDB 并发与锁机制 1.为确何数据的一致性,防止 ... -
MongoDB 常规命令
2016-12-03 16:04 591MongoDB 常规命令 创建数据库 use DATABA ... -
MongoDB 简单介绍
2016-12-03 16:01 520MongoDB 简单介绍 1.MongoDB 是由C++语言 ... -
MongoDB mongoTemplate查询条作组合例子
2016-12-01 17:08 25014MongoDB mongoTemplate查询条作组合例子 ... -
MongoDB应用例子
2016-10-18 16:32 622MongoDB应用例子 JDBC应用例子: <dep ... -
MongoDB简介、安装、配置
2016-10-14 17:58 398MongoDB简介、安装、配置 简介 1.是由C++语言编 ... -
mongodb
2016-08-18 08:34 464参考原文:http://www.cnblogs.com/yan ...
相关推荐
- **Spring Data MongoDB** 是 **Spring Data** 家族的一员,它提供了一种简单的方式来与 MongoDB 数据库进行交互。通过 Spring Data MongoDB,开发者可以利用 Spring 的强大功能轻松地进行 NoSQL 数据库的操作。 - ...
对于那些希望了解如何使用SpringData MongoDB的开发人员来说,文档还提供了参考资料和入门指南,从如何安装和配置MongoDB到如何使用MongoTemplate以及创建自定义Repository实现等不同层次的内容都有涉及。...
Spring Data MongoDB是Spring Data项目的一部分,它提供了MongoDB的Repository抽象,允许开发者以声明式的方式定义查询,而无需编写大量的模板代码。通过这个框架,你可以快速地构建基于MongoDB的应用程序,同时...
Spring Data MongoDB提供了与MongoDB数据库交互的一系列抽象,包括MongoTemplate和Repository接口。通过这些接口,开发人员无需直接编写MongoDB的Java驱动程序代码,就能实现CRUD(创建、读取、更新和删除)操作,...
- **MongoEntity**:Spring Data MongoDB 使用注解来定义对象如何映射到 MongoDB 文档。例如,`@Document` 注解标识一个类为 MongoDB 的文档实体,`@Id` 用于指定主键字段。 - **Field 映射**:`@Field` 注解用于...
Spring Data MongoDB是Spring Data项目的一部分,它提供了一个面向对象的API,使得与NoSQL数据库MongoDB进行交互变得更加简单。以下是关于这个主题的详细知识点: 1. **Spring Framework**: Spring是一个开源的应用...
通过以上介绍,我们可以看出Spring Data MongoDB是如何简化了MongoDB在Spring Boot项目中的使用。通过定义Repository接口,使用Entity注解,以及利用Spring Boot的自动化配置,开发者可以高效地完成数据的存取操作,...
Spring Data MongoDB的核心概念是Repository抽象,它允许开发者定义自定义的查询方法,而无需编写SQL或MongoDB查询。这个框架会自动将这些方法转换为对应的MongoDB操作。下面我们将深入探讨Spring Data MongoDB的几...
Spring Data MongoDB 是一个强大的框架,它为开发人员提供了一种简单的方式来访问和操作MongoDB数据库。这个框架是Spring Data项目的一部分,旨在简化数据访问层的编程模型,使其更符合Java和Spring生态系统的习惯。...
至此,你已经成功地配置了Spring Data MongoDB,并可以开始使用Repository进行MongoDB的操作。通过这种方式,开发人员可以专注于业务逻辑,而无需关心底层数据库操作的细节,大大提高了开发效率。 标签“源码”和...
这个实例涵盖了Spring MVC的控制器设计、Spring Data MongoDB的使用,以及MongoDB的基础操作,是学习现代Java Web开发的一个好例子。通过阅读源码并动手实践,开发者可以加深对这三个技术的理解,并提升自己的技能。
现在,我们可以使用Spring Data MongoDB的`MongoRepository`接口来操作数据。定义一个接口继承`MongoRepository`,并提供实体类和ID类型: ```java import org.springframework.data.mongodb.repository.Mongo...
在 Spring 应用中使用 Spring Data MongoDB 需要配置 MongoDB 的连接信息,包括主机、端口、数据库名等。通过 @EnableMongoRepositories 注解启用 MongoDB 的仓储接口。 五、对象映射 Spring Data MongoDB 使用 @...
6. **Spring Data REST**:当与Spring Data REST模块一起使用时,Spring Data MongoDB可以自动暴露Repository接口作为RESTful服务,便于Web服务的构建和消费。 7. **版本控制**:通过`@Version`注解,Spring Data ...
这个压缩包`spring-date-mongodb1.4.2.zip`包含了两个核心的JAR文件:`spring-data-mongodb-1.4.2.RELEASE.jar`和`spring-data-commons-1.7.2.RELEASE.jar`,它们是Spring Data MongoDB项目的关键组成部分。...
Spring Data MongoDB自动为Repository接口的方法生成查询。例如,`findByLastname(String lastname)`将自动转化为MongoDB的查询语句,寻找具有特定姓氏的文档。 6. **映射与转换**: `@MongoDBRef`注解用于处理...
Spring Data MongoDB是Spring框架的一个子项目,它使得与MongoDB的交互变得简单和直观。当将Spring Data与Spring MVC结合时,可以构建出强大的Web应用。 **Spring框架** Spring框架是一个开源的Java平台,用于简化...
Spring Data MongoDB 使用`MongoConverter` 和`MongoMappingContext` 来处理对象到MongoDB 文档的转换。 12. **分页与排序** Repository 接口中的`Pageable` 参数可用于实现分页查询,`Sort` 参数则用于指定排序...
- **ExamplesRepository**:通过示例代码演示如何使用 Spring Data MongoDB 进行数据访问。 **4.3 连接到 MongoDB** - **使用 Java 基于元数据注册 MongoDB 实例** - 在 Java 配置类中使用 `@Bean` 方法来定义 `...