這裏使用的是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);
}
}