其中有三项配置比较关键:
第一:mongo依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
第二:mongo配置
server:
port: 服务端口
spring:
data:
mongodb:
host: ip
port: mongo的端口
database: 数据库名
第三:映射
import lombok.Data;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
import java.util.Date;
@Data
@Document("指定映射的集合 相当于mysql的表") //如果没有指定的数据库没有这个表 会自动的创建
public class Mongodemo implements Serializable {
private static final long serialVersionUID = 1L;
private String id; //主键
private String name;
private Date createdTime;
}
核心方法
public class MongoTest {
@Autowired
private MongoTemplate mongoTemplate;
//保存
@Test
public void saveTest(){
//循环添加
/*for (int i = 0; i < 10; i++) {
Mongodemo mongodemo = new Mongodemo();
mongodemo.setname("test");
mongodemo.setCreatedTime(new Date());
mongoTemplate.save(mongodemo);
}*/
Mongodemo mongodemo = new Mongodemo();
mongodemo.setname("test");
mongodemo.setCreatedTime(new Date());
mongoTemplate.save(mongodemo); //保存或者修改 有id 修改反之保存
}
//查询一个
@Test
public void saveFindOne(){
Mongodemo mongodemo = mongoTemplate.findById("60bd973eb0c1d430a71a7928", Mongodemo.class);
System.out.println(mongodemo);
}
//条件查询
@Test
public void testQuery(){
Query query = Query.query(Criteria.where("字段名").is("test"))
.with(Sort.by(Sort.Direction.DESC,"createdTime"));
List<Mongodemo> mongodemoList = mongoTemplate.find(query, Mongodemo.class);
System.out.println(mongodemoList);
}
//删除
@Test
public void testDel(){
mongoTemplate.remove(Query.query(Criteria.where("字段名").is("test")),Mongodemo.class);
}
}