1、yml配置文件
server:
port: 8080
spring:
data:
mongodb:
uri: mongodb://localhost:27017/test
2、实体类
package com.example.mongodb.Pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
@Document(collection = "User")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {
// @Id
private Integer Id;
private String name;
private String age;
}
3、Dao层
import com.example.mongodb.Pojo.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;
@Component
public class UserDao {
@Autowired
private MongoTemplate mongoTemplate;
public void saveUser(User user){
mongoTemplate.save(user);
}
public void removeUser(Integer id){
Query query=new Query(Criteria.where("Id").is(id));
mongoTemplate.remove(query,User.class);
}
public void updateUser(User user){
Query query=new Query(Criteria.where("Id").is(user.getId()));
Update update=new Update();
update.set("name",user.getName());
update.set("age",user.getAge());
mongoTemplate.updateFirst(query,update,User.class);
}
public User find(Integer id){
Query query=new Query(Criteria.where("Id").is(id));
return mongoTemplate.findOne(query,User.class);
}
}
4、相关Test类
import com.example.mongodb.Dao.UserDao;
import com.example.mongodb.Pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
@SpringBootTest
class MongodbApplicationTests {
@Autowired
private UserDao userDao;
@Test
void contextLoads() {
}
@Test
public void saveUser(){
User user=new User(1,"name1","30");
userDao.saveUser(user);
user= userDao.find(1);
System.out.println(user);
}
@Test
public void removeUser(){
userDao.removeUser(1);
}
@Test
public void updateUser(){
User user=new User(1,"name2","28");
userDao.updateUser(user);
}
@Test
public User find(){
User user= userDao.find(1);
System.out.println(user);
return user;
}
}