1.pom.xml添加依赖包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
2.application.yml文件添加加配置
spring: data: mongodb: uri: mongodb://localhost/test
若有副本集,则可以
mongodb://user:secret@mongo1.example.com:12345,mongo2.example.com:23456/test
3.通过mongoTemplate操作mongodb
@RunWith(SpringRunner.class) @SpringBootTest(classes = { Application.class }) @ActiveProfiles(value = "dev") public class MyTest { @Resource private MongoTemplate mongoTemplate; @Test public void test1() { try { LogInfo info = new LogInfo(); //set data... mongoTemplate.save(info, "log"); } catch (Exception e) { e.printStackTrace(); } } @Test public void testFindAll() { List<LogInfo> list = mongoTemplate.findAll(LogInfo.class, "log"); for (LogInfo info : list) {// 查出所有结果,包括不是LogInfo对象的数据 System.out.println(info.getTableName()); System.out.println(info.getColumnInfoList().size()); } } @Test public void testFindBy() { Query query = Query.query(Criteria.where("name").is("user").and("recordId").is("1001")); List<LogInfo> list = mongoTemplate.find(query, LogInfo.class, "log"); for (LogInfo info : list) { System.out.println(info.getTableName()); for (ColumnInfo col : info.getColumnInfoList()) { System.out.println(col.getName() + ":" + col.getValue()); } } } @Test public void testFindPage() {// 小数据量分页,可跳页 Query query = Query.query(Criteria.where("name").is("user")); Pageable pageable = new PageRequest(2, 3); query.with(pageable).with(new Sort(Direction.DESC, "_id")); Long count = mongoTemplate.count(query, "log"); System.out.println("count:" + count); List<LogInfo> list = mongoTemplate.find(query, LogInfo.class, "log"); for (LogInfo info : list) { System.out.println(info.getTableName()); for (ColumnInfo col : info.getColumnInfoList()) { System.out.println(col.getName() + ":" + col.getValue()); } } } @Test public void testFindBigPage() {// 大数据量分页,不可跳页 String lastId = "xxx"; BasicDBObject query = new BasicDBObject(); query.put("name", "user"); int count = mongoTemplate.getCollection("log").find(query).size(); query.put("_id", new BasicDBObject("$lt", new ObjectId(lastId))); DBCursor cursor = mongoTemplate.getCollection("log").find(query).sort(new BasicDBObject("_id", -1)) .limit(3); while (cursor.hasNext()) {// 大数据量对象转换,也推荐用这方式 DBObject obj = cursor.next(); ObjectId id = (ObjectId) obj.get("_id"); System.out.println(id.toString()); BasicDBList cols = (BasicDBList) obj.get("columnInfoList"); for (Object col : cols) { DBObject o = (DBObject) col; System.out.println(o.get("name") + ":" + o.get("value")); } } } }
@Document public class LogInfo { private String id; private String name; private String recordId; private List<ColumnInfo> columnInfoList; } @Document public class ColumnInfo { private String name; private String value; }
相关推荐
spring boot 集成 mongodb
本文将详细介绍如何在Spring Boot项目中集成MongoDB数据库,包括其原理、使用流程、步骤以及完整的代码示例。通过本文,读者将能够了解Spring Boot与MongoDB的集成方式,掌握在Spring Boot应用程序中操作MongoDB...
主要介绍了Spring Boot集成mongodb数据库过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
mongodb版本号3.2,需手动开启http服务,启动时使用命令 ./mongod --httpinterface 新增 修改 删除 查询 排序 分页 可查看: https://blog.csdn.net/m0_37132783/article/details/96992439
1、java客户端使用mongodb changestream代码 2、springboot整合mongodb changestream代码
主要介绍了Spring Boot无缝集成MongoDB的相关知识,本文涉及到MongoDB的概念和nosql的应用场景,需要的朋友可以参考下
spring boot 实践学习案例,与其它组件结合如 mybatis、jpa、dubbo、redis、mongodb、memcached、kafka、rabbitmq、activemq、elasticsearch、security、shiro等 #### Spring Boot 版本 - 2.0.3.RELEASE #### 模块...
- [spring-boot-redis](https://github.com/ityouknow/spring-boot-examples/tree/master/spring-boot-redis):Spring Boot 集成 Redis 示例 - [spring-boot-jpa]...
最近接手一个Springboot项目,需要在原项目上增加一些需求,用到了mongodb。下面通过本文给大家分享Sprint Boot 集成MongoDB的操作方法,需要的朋友参考下吧
spring boot2, 讲解spring boot2集成mongoDb, Rdis, mybatis等技术.
springboot集成mongoDB
spring boot mongodb 配置多数据源,正式环境中截取出来的代码,亲测有效
集成了 angular springmvc mongodb,做的单页面应用
`spring boot demo` 是一个用来深度学习并实战 `spring boot` 的项目,目前总共包含 **`63`** 个集成demo,已经完成 **`51`** 个。 该项目已成功集成 actuator(`监控`)、admin(`可视化监控`)、logback(`日志`)、aop...
主要给大家介绍了关于Spring Boot集成Shiro并利用MongoDB做Session存储的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友下面来一起看看吧。
Spring Boot的依赖管理 6.2。Spring框架 7.使用Spring Data Repositories 7.1。核心概念 7.2。查询方法 7.3。定义存储库接口 7.3.1。微调储存库定义 7.3.2。空处理存储库方法 7.3.3。将存储库与多个Spring Data模块...
spring-boot-examples-master示例程序,与各种框架集成,包括: dockercompose-springboot-mysql-nginx spring-boot-actuator spring-boot-banner spring-boot-docker spring-boot-elasticsearch spring-boot-...
Spring Boot Framework集成了3rd工具 在命令模式下运行,需要安装gradle 4.7以上版本 插入测试数据test / java / com / sb / OrderMain.java通过schema(local)在文件spring.data.mongodb.database = local中定义的...
主要给大家介绍了关于Spring + Spring Boot + MyBatis + MongoDB的整合教程,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
:Spring Boot使用commandLineRunner实现项目启动时资源初始化示例 :Spring Boot使用thymeleaf实现布局,验参,增删改改查示例 :Spring Boot使用spymemcached集成memcache示例 :Spring Boot webflux示例 :Sp