java使用mangodb进行数据存储的简单操作
关于使用mangodb进行数据存储的简单操作
-
引入maven依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
-
具体代码
实体对象如下:
@Data public class User { private int id; private String name; private String password; }
dao层代码示例:
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.Query; import java.util.List; public interface UserRepository extends MongoRepository<User, Integer> { //查詢操作,自定义实现 @Query("{'name':?0}") User getByName(String name); List<User> getByNameLike(String name); }
service实现层:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Service; public class UserServiceImpl implements UserService { @Autowired private MongoTemplate mongoTemplate; @Autowired private UserRepository userRepository; @Override public void saveUser(User user) { userRepository.save(user); } @Override public void removeUserByName(String name) { Query query = new Query(new Criteria("name").is(name)); mongoTemplate.remove(query, User.class); } @Override public void updateUser(User user) { Query query = new Query(new Criteria("id").is(user.getId())); Update update = new Update().set("name", user.getName()); mongoTemplate.updateMulti(query, update, User.class); } @Override public User getByName(String name) { return userRepository.getByName(name); } @Override public User getByNameLike(String name) { return userRepository.getByNameLike(name).get(0); } }
controller调用层:
@RestController @RequestMapping("/mongodb") @Api(tags = "mongodb_test") public class UserController { @Autowired private UserService userService; @ApiOperation(value = "保存用户", tags = "保存用户") @PostMapping("/save") public Result saveUser(@RequestBody User user) { userService.saveUser(user); return Result.OK(); } @ApiOperation(value = "删除用户", tags = "删除用户") @PostMapping("/remove") public Result removeUser(String name) { userService.removeUserByName(name); return Result.OK(); } @ApiOperation(value = "更新用户", tags = "更新用户") @PostMapping("/update") public Result updateUser(@RequestBody User user) { userService.updateUser(user); return Result.OK(); } @ApiOperation(value = "根据姓名查找用户", tags = "根据姓名查找用户") @PostMapping("/getByName") public Result getByName(String name) { userService.getByName(name); return Result.OK(); } @ApiOperation(value = "根据姓名模糊查找用户", tags = "根据姓名模糊查找用户") @PostMapping("/getByNameLike") public Result getByNameLike(String name) { userService.getByNameLike(name); return Result.OK(); } }
既要仰望星空,又要脚踏实地