下面直接进入代码操作
创建一个Springboot项目,pom.xml引入MongoDB依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>
接下来配置MongoDB数据源,此处我用的是本地安装的MongoDB,所以没有用户名和密码,有用户名和密码的格式是: spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/test,其中name是用户名,pass是密码
如果要配置多个数据库,则中间用 "," 分割,例如 spring.data.mongodb.uri=mongodb://192.168.1.1:20000,192.168.1.2:20000,192.168.252.12:20000/test
application.properties:
spring.data.mongodb.uri=mongodb://localhost:27017/mydb
User.class
package com.zyu.entity;/** * @program: SpringBoot-mongo * @description: * @author: zyu * @create: 2019-11-28 16:06 */public class User { private String id; private String name; private Integer age; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { final StringBuffer sb = new StringBuffer("User{"); sb.append("id='").append(id).append('\''); sb.append(", name='").append(name).append('\''); sb.append(", age=").append(age); sb.append('}'); return sb.toString(); }}
UserDao.class
package com.zyu.dao;import com.zyu.entity.User;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.Component;import java.util.List;/** * @program: SpringBoot-mongo * @description: * @author: zyu * @create: 2019-11-29 16:05 */@Componentpublic class UserDao { @Autowired private MongoTemplate mongoTemplate; /** * 创建对象 * @param user */ public User saveUser(User user) { User save = mongoTemplate.save(user); return save; } /** * 更新对象 * @param user */ public void updateUser(User user) { Query query = new Query(Criteria.where("id").is(user.getId())); Update update = new Update().set("name", user.getName()).set("age", user.getAge()); mongoTemplate.updateFirst(query, update, User.class); } /** * 根据用户名查询对象 * @param name * @return */ public User findUserByName(String name) { Query query = new Query(Criteria.where("name").is(name)); User user = mongoTemplate.findOne(query, User.class); return user; } /** * 查询所有对象 * @return */ public List<User> findUserList() { List<User> all = mongoTemplate.findAll(User.class); return all; } /** * 删除对象 * @param id */ public void deleteUserById(String id) { Query query = new Query(Criteria.where("id").is(id)); mongoTemplate.remove(query, User.class); }}
HomeController.class
package com.zyu.controller;import com.zyu.dao.UserDao;import com.zyu.entity.User;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import java.util.List;/** * @program: SpringBoot-mongo * @description: * @author: zyu * @create: 2019-11-28 16:08 */@RestControllerpublic class HomeController { @Autowired private UserDao userDao; @GetMapping("/findList") public List<User> findUserList() { List<User> userList = userDao.findUserList(); return userList; } @GetMapping("/findByName") public User findUserByName(@RequestParam String name) { User userByName = userDao.findUserByName(name); return userByName; } @GetMapping("/save") public User saveUser(@RequestParam String name, @RequestParam Integer age) { User user = new User(); user.setName(name); user.setAge(age); return userDao.saveUser(user); } @GetMapping("/update") public String updateUser(@RequestParam String id, @RequestParam String name, @RequestParam Integer age) { User user = new User(); user.setName(name); user.setAge(age); user.setId(id); userDao.updateUser(user); return "Success"; }}
下面我们启动程序进行测试
1. 新增: http://localhost:8080/save?name=张三&age=20
可以看到新增成功
2. 查询:http://localhost:8080/findList
可以看到数据插入成功
3. 修改:http://localhost:8080/update?name=张三&age=22&id=5de0dbee2a21b94db4fc367b
其他接口大家自己去测试吧
来源:https://www.icode9.com/content-2-580251.html
联系客服