马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
pom依赖
- <!--mongo依赖-->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-mongodb</artifactId>
- </dependency>
- <!--测试依赖-->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- </dependency>
复制代码 mongodb yml连接信息
- spring:
- data:
- mongodb:
- uri: mongodb://admin:admin@192.168.98.128:27017/articledb?authSource=admin
复制代码 springboot主方法
不必要排除mongodb,利用spring自带的mongo连接
- @SpringBootApplication
- @Slf4j
- public class SpringbootApplication {
- public static void main(String[] args) { SpringApplication.run(SpringbootApplication.class, args);
- }
- }
复制代码 mongo实体类
对应具体mongo collection
- @Document(collection = "BalanceTest") //集合名称
- @Data
- public class BalanceEntity implements Serializable {
- //主键标识,该属性的值会自动对应MongoDB的主键字段_id,如果该属性名就叫"id"则该注解可以省略,否则必须写
- @Id //主键
- private String id;
- //该属性对应MongoDB字段的名字,如果一致,则无需该注解
- @Field("articleid")
- private int articleId;
- private String content;
- private Date createTime;
- }
复制代码 dao层
MongoRepository<T, ID>中ID为主键范例
- //MongoRepository<T, ID>中ID为主键类型
- public interface BalanceRepository extends MongoRepository<BalanceEntity, String> {
- //ArticleId为需要查询的字段
- Page<BalanceEntity> findByArticleId(String parentid,Pageable pageable);
- }
复制代码 service层
调用dao层或者利用mongoTemplate方法
- import org.springframework.data.domain.Page;
- import org.springframework.data.domain.PageRequest;
- 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.Service;
- @Service
- public class BalanceService {
- @Autowired
- private BalanceRepository balanceRepository;
- @Autowired
- private MongoTemplate mongoTemplate;
- public void saveBalance(BalanceEntity balanceEntity) {
- balanceRepository.save(balanceEntity);
- }
- public void updateBalance(BalanceEntity balanceEntity) {
- balanceRepository.save(balanceEntity);
- }
- /**
- * 根据id删除评论
- */
- public void deleteCommentById(String id){
- //调用dao
- balanceRepository.deleteById(id);
- }
- /**
- * 查询所有评论
- */
- public List<BalanceEntity> findCommentList(){
- //调用dao
- return balanceRepository.findAll();
- }
- /**
- * 根据id查询评论
- */
- public BalanceEntity findCommentById(String id){
- //调用dao
- return balanceRepository.findById(id).get();
- }
- /**
- * 分页条件查询
- */
- public Page<BalanceEntity> findByArticleId(String articleId, int page, int size) {
- return balanceRepository.findByArticleId(articleId,PageRequest.of(page-1,size));
- }
- /**
- * 自增更新
- */
- public void updateIncrementArticleId(String id){
- // 查询条件
- Query query = Query.query(Criteria.where("_id").is(id));
- // 更新条件
- Update update = new Update();
- //需要自增的字段
- update.inc("articleId");
- mongoTemplate.updateFirst(query,update,BalanceEntity.class);
- }
- }
复制代码 测试类,调用server层
- @RunWith(SpringRunner.class)
- @SpringBootTest
- public class BalanceServiceTest {
- @Autowired
- private BalanceService balanceService;
- @Test
- public void testFindCommentList() {
- List<BalanceEntity> commentList = balanceService.findCommentList();
- System.out.println(commentList);
- }
- @Test
- public void testFindCommentById() {
- BalanceEntity commentById = balanceService.findCommentById("672f82baba8fda7d061e2097");
- System.out.println(commentById);
- }
- @Test
- public void testSaveComment(){
- BalanceEntity balanceEntity =new BalanceEntity();
- balanceEntity.setContent("测试添加的数据");
- balanceEntity.setCreateTime(new Date());
- balanceEntity.setArticleId(1003);
- balanceService.saveBalance(balanceEntity);
- }
- @Test
- public void findByArticleId() {
- Page<BalanceEntity> page = balanceService.findByArticleId("3", 1, 2);
- System.out.println(page.getTotalElements());
- System.out.println(page.getContent());
- }
- @Test
- public void updateIncrementArticleId() {
- balanceService.updateIncrementArticleId("67657f30c1e6c51645a0be55");
- }
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |