springboot整合mongodb增删改查入门

忘是亡心i 2022-08-31 11:23 362阅读 0赞

#

    • 1.配置与依赖
    • 2.实体与repository层
    • 3.测试

适合新手。
要求:安装好mongodb
代码和运行程序如下:
目录:
在这里插入图片描述
在这里插入图片描述

1.配置与依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-data-mongodb</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-test</artifactId>
  8. <scope>test</scope>
  9. </dependency>
  10. spring.data.mongodb.uri=mongodb://127.0.0.1:27017/test

2.实体与repository层

  1. public class User implements Serializable {
  2. private static final long serialVersionUID = -3258839839160856613L;
  3. private Long id;
  4. private String userName;
  5. private String passWord;
  6. public Long getId() {
  7. return id;
  8. }
  9. public void setId(Long id) {
  10. this.id = id;
  11. }
  12. public String getUserName() {
  13. return userName;
  14. }
  15. public void setUserName(String userName) {
  16. this.userName = userName;
  17. }
  18. public String getPassWord() {
  19. return passWord;
  20. }
  21. public void setPassWord(String passWord) {
  22. this.passWord = passWord;
  23. }
  24. @Override
  25. public String toString() {
  26. return "UserEntity{" +
  27. "id=" + id +
  28. ", userName='" + userName + '\'' +
  29. ", passWord='" + passWord + '\'' +
  30. '}';
  31. }
  32. }

Repository

  1. public interface UserRepository {
  2. public void saveUser(User user);
  3. public User findUserByUserName(String userName);
  4. public long updateUser(User user);
  5. public void deleteUserById(Long id);
  6. }

接口实现类

  1. package com.neo.repository.impl;
  2. import com.mongodb.client.result.UpdateResult;
  3. import com.neo.repository.UserRepository;
  4. import com.neo.model.User;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.data.mongodb.core.MongoTemplate;
  7. import org.springframework.data.mongodb.core.query.Criteria;
  8. import org.springframework.data.mongodb.core.query.Query;
  9. import org.springframework.data.mongodb.core.query.Update;
  10. import org.springframework.stereotype.Component;
  11. /** * Created by summer on 2017/5/5. */
  12. @Component
  13. public class UserRepositoryImpl implements UserRepository {
  14. @Autowired
  15. private MongoTemplate mongoTemplate;
  16. /** * 创建对象 * @param user */
  17. @Override
  18. public void saveUser(User user) {
  19. mongoTemplate.save(user);
  20. }
  21. /** * 根据用户名查询对象 * @param userName * @return */
  22. @Override
  23. public User findUserByUserName(String userName) {
  24. Query query=new Query(Criteria.where("userName").is(userName));
  25. User user = mongoTemplate.findOne(query , User.class);
  26. return user;
  27. }
  28. /** * 更新对象 * @param user */
  29. @Override
  30. public long updateUser(User user) {
  31. Query query=new Query(Criteria.where("id").is(user.getId()));
  32. Update update= new Update().set("userName", user.getUserName()).set("passWord", user.getPassWord());
  33. //更新查询返回结果集的第一条
  34. UpdateResult result =mongoTemplate.updateFirst(query,update,User.class);
  35. //更新查询返回结果集的所有
  36. // mongoTemplate.updateMulti(query,update,UserEntity.class);
  37. if(result!=null)
  38. return result.getMatchedCount();
  39. else
  40. return 0;
  41. }
  42. /** * 删除对象 * @param id */
  43. @Override
  44. public void deleteUserById(Long id) {
  45. Query query=new Query(Criteria.where("id").is(id));
  46. mongoTemplate.remove(query,User.class);
  47. }
  48. }

3.测试

  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest
  3. public class UserRepositoryTest {
  4. @Autowired
  5. private UserRepository userDao;
  6. @Test
  7. public void testSaveUser() throws Exception {
  8. User user=new User();
  9. user.setId(2l);
  10. user.setUserName("小明");
  11. user.setPassWord("fffooo123");
  12. userDao.saveUser(user);
  13. }
  14. @Test
  15. public void findUserByUserName(){
  16. User user= userDao.findUserByUserName("小明");
  17. System.out.println("user is "+user);
  18. }
  19. @Test
  20. public void updateUser(){
  21. User user=new User();
  22. user.setId(2l);
  23. user.setUserName("天空");
  24. user.setPassWord("fffxxxx");
  25. userDao.updateUser(user);
  26. }
  27. @Test
  28. public void deleteUserById(){
  29. userDao.deleteUserById(1l);
  30. }
  31. }

运行testSaveUser
在这里插入图片描述
更新:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,362人围观)

还没有评论,来说两句吧...

相关阅读