1,先去官网下载,选择版本,选择Windows,就可以点击下载了。
2,安装mongodb。
下一步安装 “install mongoDB compass” 不勾选(当然你也可以选择安装它,可能需要更久的安装时间),MongoDB Compass 是一个图形界面管理工具,我们可以在后面自己到官网下载安装,下载地址:https://www.mongodb.com/download-center/compass。
3,使用idea创建一个springboot项目,在选择依赖的时候导入Mongodb的依赖
4,修改application.yml文件
5,创建实体类,service以及serviceImpl.
实体类:(@Getter @Setter @ToString这些注解是lombok的,主要是用来生成setter getter 方法,大家应该知道吧,不知道的就别用注解,手动生成setter ,getter方法)
service:
public interface UserService {public void saveUser(User user);public User findUserByUserName(String userName);public long updateUser(User user);public void deleteUserById(Integer id);public List<User> queryList();
}
serviceImpl:
package com.example.mongodemo.repository.impl;import com.example.mongodemo.entity.User;
import com.example.mongodemo.repository.UserService;
import com.mongodb.client.result.UpdateResult;
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;@Component
public class UserServiceImpl implements UserService {@Autowiredprivate MongoTemplate mongoTemplate;/*** 创建对象* @param user*/@Overridepublic void saveUser(User user) {mongoTemplate.save(user);}/*** 根据用户名查询对象* @param userName* @return*/@Overridepublic User findUserByUserName(String userName) {Query query = new Query(Criteria.where("userName").is(userName));User user = mongoTemplate.findOne(query,User.class);return user;}/*** 更新对象* @param user*/@Overridepublic long updateUser(User user) {Query query = new Query(Criteria.where("id").is(user.getId()));Update update = new Update().set("userName",user.getUserName()).set("createTime",user.getCreateTime());//更新查询返回结果集的第一条UpdateResult result =mongoTemplate.updateFirst(query,update,User.class);if(result!=null)return result.getMatchedCount();elsereturn 0;}/*** 删除对象* @param id*/@Overridepublic void deleteUserById(Integer id) {Query query=new Query(Criteria.where("id").is(id));mongoTemplate.remove(query,User.class);}/*** 查询所有的用户信息* @return*/@Overridepublic List<User> queryList() {Query query=new Query();List<User> userList = mongoTemplate.findAll(User.class);return userList;}
}
6,写好这些我们要在测试类里面测试一下
@Autowiredprivate UserService userDao;@Testpublic void testSaveUser() throws Exception {User user=new User();user.setId(2);user.setUserName("小明");user.setCreateTime(new Date());userDao.saveUser(user);}@Testpublic void findUserByUserName(){User user= userDao.findUserByUserName("小明");System.out.println("user is "+user);}@Testpublic void updateUser(){User user=new User();user.setId(9);user.setUserName("天空");user.setCreateTime(new Date());userDao.updateUser(user);}@Testpublic void deleteUserById(){userDao.deleteUserById(9);}@Testpublic void queryList(){List<User> userList = userDao.queryList();for(User user:userList){System.out.println(user.getUserName());}}