欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

springboot+mongodb

发布时间:2025/5/22 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 springboot+mongodb 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2019独角兽企业重金招聘Python工程师标准>>>

pom.xml

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>

application.properties:

spring.data.mongodb.uri=mongodb://localhost:27017/test

UserRepository:类似Jpa查询方式

public interface UserRepository extends MongoRepository<User, String> {List<User> findByName(String name); }

UserController:

添加操作

@RequestMapping("add") public String add() {User user = new User();user.setName("sher");user.setAge(11);return userRepository.save(user).toString(); }

更新操作

@RequestMapping("edit/{id}") public String edit(@PathVariable String id) {User user = userRepository.findOne(id);user.setName("sher_edit");return userRepository.save(user).toString(); }

删除操作

@RequestMapping(value = "del/{id}", method = RequestMethod.DELETE) public void del(@PathVariable String id) {userRepository.delete(id); }

mongoTemplate操作:

mongoTemplate.save(user);//添加Query query = new Query(Criteria.where("name").is("sher"));List<User> userList = mongoTemplate.find(query, User.class);//查询所有name是sheruserList.forEach(System.out::println);User one = mongoTemplate.findOne(query, User.class);//单个结果查询操作System.out.println("查询单个User:" + one.toString());Update update = new Update().set("age", 24);User modify = mongoTemplate.findAndModify(query, update, User.class);//数据库更新了但是返回的是旧的对象System.out.println("返回更新前对象:" + modify);Update update2 = new Update().set("age", 26);FindAndModifyOptions upsert = new FindAndModifyOptions().returnNew(true).upsert(true);User andModify = mongoTemplate.findAndModify(query, update2, upsert, User.class);//返回更新后对象System.out.println("返回更新后对象" + andModify); // mongoTemplate.updateFirst(query, update, User.class);//进行第一条符合要求的数据更新 // mongoTemplate.updateMulti(query, update, User.class);//进行更新多行数据 // mongoTemplate.remove(user);//进行数据删除

注意:upsert(true),update和insert结合体默认为false,当它为true的时候,update方法会首先查找与第一个参数匹配的记录,在用第二个参数更新之,如果找不到与第一个参数匹配的的记录,就插入一条

后台打印结果:

User{id='58e846a758717a2878845638', name='sher', age=33} User{id='58e855e958717a1a202a645f', name='sher', age=11} User{id='58e8583358717a2c58077fea', name='sher', age=11} User{id='58e858c858717a1b343b4132', name='sher', age=11} User{id='58e85a4e58717a2e50a577c1', name='sher', age=11} 查询单个User:User{id='58e846a758717a2878845638', name='sher', age=33} 返回更新前对象:User{id='58e846a758717a2878845638', name='sher', age=33} 返回更新后对象User{id='58e846a758717a2878845638', name='sher', age=26}

还有更多方法具体参照api

 

完整例子

转载于:https://my.oschina.net/u/3125112/blog/875231

总结

以上是生活随笔为你收集整理的springboot+mongodb的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。