springboot+mongodb
生活随笔
收集整理的这篇文章主要介绍了
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/testUserRepository:类似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的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: script type=text/tem
- 下一篇: 阿里云ECS镜像