这里使用的是spring data mongodb
官方文档:https://docs.spring.io/spring-data/mongodb/docs/2.0.1.RELEASE/reference/html/
pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
配置文件
spring:
data:
mongodb:
host: 127.0.0.1
database: spitdb
实体类
实体类需要用@Document指定文档所属于的集合collection
如同spring data jpa 要指定@table 一样
@Data
@Document(collection="spit")
public class Spit implements Serializable {
@Id
private String _id;
private String content;
private Date publishtime;
private String userid;
private String nickname;
private Integer visits;
private Integer thumbup;
private Integer share;
private Integer comment;
private String state;
private String parentid;
}
dao
dao继承MongoRepository
@Repository
public interface SpitDao extends MongoRepository<Spit,String> {
}
service
@Service
public class SpitService {
@Autowired
private SpitDao spitDao;
@Autowired
private IdWorker idWorker;
// 查询所有
public List<Spit> findAll() {
return spitDao.findAll();
}
//根据id查询
public Spit findById(String spitId) {
return spitDao.findById(spitId).get();
}
// 新增
public void save(Spit spit) {
spit.set_id(String.valueOf(idWorker.nextId()));
spitDao.save(spit);
}
// 修改
public void update(Spit spit) {
spitDao.save(spit);
}
// 删除
public void deleteById(String spitId) {
spitDao.deleteById(spitId);
}
}