您的位置:首页 > 健康 > 养生 > app推广一手单平台_武汉新增感染人数_百度青岛代理公司_云南seo网站关键词优化软件

app推广一手单平台_武汉新增感染人数_百度青岛代理公司_云南seo网站关键词优化软件

2024/12/26 20:46:24 来源:https://blog.csdn.net/weixin_43732943/article/details/144622153  浏览:    关键词:app推广一手单平台_武汉新增感染人数_百度青岛代理公司_云南seo网站关键词优化软件
app推广一手单平台_武汉新增感染人数_百度青岛代理公司_云南seo网站关键词优化软件

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 {@Autowiredprivate BalanceRepository balanceRepository;@Autowiredprivate MongoTemplate mongoTemplate;public void saveBalance(BalanceEntity balanceEntity) {balanceRepository.save(balanceEntity);}public void updateBalance(BalanceEntity balanceEntity) {balanceRepository.save(balanceEntity);}/*** 根据id删除评论*/public void deleteCommentById(String id){//调用daobalanceRepository.deleteById(id);}/*** 查询所有评论*/public List<BalanceEntity> findCommentList(){//调用daoreturn balanceRepository.findAll();}/*** 根据id查询评论*/public BalanceEntity findCommentById(String id){//调用daoreturn 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 {@Autowiredprivate BalanceService balanceService;@Testpublic void testFindCommentList() {List<BalanceEntity> commentList = balanceService.findCommentList();System.out.println(commentList);}@Testpublic void testFindCommentById() {BalanceEntity commentById = balanceService.findCommentById("672f82baba8fda7d061e2097");System.out.println(commentById);}@Testpublic void testSaveComment(){BalanceEntity balanceEntity =new BalanceEntity();balanceEntity.setContent("测试添加的数据");balanceEntity.setCreateTime(new Date());balanceEntity.setArticleId(1003);balanceService.saveBalance(balanceEntity);}@Testpublic void findByArticleId() {Page<BalanceEntity> page = balanceService.findByArticleId("3", 1, 2);System.out.println(page.getTotalElements());System.out.println(page.getContent());}@Testpublic void updateIncrementArticleId() {balanceService.updateIncrementArticleId("67657f30c1e6c51645a0be55");}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com