SpringBoot整合MongoDB完成增删改查分页查询
2021/11/23 19:13:27
本文主要是介绍SpringBoot整合MongoDB完成增删改查分页查询,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
SpringBoot整合MongoDB完成增删改查分页查询
mongodb的依赖导入以及连接配置请自行配置,此文档环境已经搭建完成。
一,SpringBoot整合MongoDB准备工作
1,首先要有mongodb的Document对应的实体类,标注@Document注解
//collection="zt_message_carousel"即为mongodb库中的文档名字 @Document(collection="zt_message_carousel") public class CarouselInfo { //创建索引 @Indexed(unique = true) @Id private String id; private String type; private String title; private String clickUrl; private String photoUrl; private Integer platformId; private String systemId; private Integer sort; private int state; private String creator; private Date createTime; private Date updateTime; }
二,SpringBoot整合MongoDB完成添加操作
//添加操作比较简单,创建对象,设置参数,调用api即可 CarouselInfo info = new CarouselInfo(); //设置参数 info.setId(UUIDUtil.getUuid()); info.setSystemId(params.getSystemId()); info.setPlatformId(params.getPlatformId()); info.setTitle(params.getTitle()); info.setType(params.getType()); info.setClickUrl(params.getClickUrl()); info.setCreator(params.getCreator()); info.setPhotoUrl(params.getPhotoUrl()); info.setCreateTime(new Date()); //调用方法,完成添加,并返回添加成功的数据 CarouselInfo carouselInfo = mongoTemplate.save(info);
三,SpringBoot整合MongoDB完成删除操作
//创建查询 Query query = new Query(); //设置条件 Criteria criteria = new Criteria(); List<String> list = Arrays.asList(ids.split(",")); criteria.and("systemId").is(systemId); criteria.and("platformId").is(platformId); //这里用的是in,也可以是ID,删除一条,灵活使用 criteria.and("id").in(list); query.addCriteria(criteria); //调用方法,DeleteResult中可以获取到删除的条数 DeleteResult remove = mongoTemplate.remove(query, CarouselInfo.class);
四,SpringBoot整合MongoDB完成修改操作
//创建查询,主要是用来定位要修改的对象 Query query = new Query(); Criteria criteria = new Criteria(); criteria.and("systemId").is(params.getSystemId()).and("platformId").is(params.getPlatformId()).and("id").is(params.getId()); query.addCriteria(criteria); //创建Update,修改设置,给查询到的对象,对应的字段设置新值,和sql异曲同工 Update update = new Update().set("title", params.getTitle()).set("type", params.getType()).set("photoUrl", params.getPhotoUrl()).set("updateTime",new Date()); //执行修改操作,返回修改成功的条数 UpdateResult res = mongoTemplate.updateFirst(query, update, CarouselInfo.class);
五,SpringBoot整合MongoDB完成查询操作
//这里是把查询条件写在了方法内,也可提取出来,也可以使用find()方法,返回的就是一个List集合 CarouselInfo info = mongoTemplate.findOne(new Query(Criteria.where("systemId").is(systemId).and("platformId").is(platformId).and("id").is(id)), CarouselInfo.class);
六,SpringBoot整合MongoDB完成分页查询操作
//创建查询,查出此条件下,总记录数 Query query = new Query(); Criteria criteria = new Criteria(); criteria.and("systemId").is(params.getSystemId()); criteria.and("platformId").is(params.getPlatformId()); if (StringUtils.isNotBlank(params.getTitle())) { criteria.and("title").is(params.getTitle()); } if (StringUtils.isNotBlank(params.getType())) { criteria.and("type").is(params.getType()); } if (params.getState() != null) { criteria.and("state").is(params.getState()); } query.addCriteria(criteria); int count = mongoTemplate.find(query, CarouselInfo.class).size(); // 分页查询 params.setCurPage(params.getCurPage() == null ? PageParameter.DEFAULT_CURR_PAGE : params.getCurPage()); params.setPageSize(params.getPageSize() == null ? PageParameter.DEFAULT_PAGE_SIZE : params.getPageSize()); //此处为第几页,从第几条开始查,公式和sql一样,根据业务自行设置 query.skip((params.getCurPage() - 1) * params.getPageSize()); //每页条数 query.limit(params.getPageSize()); //调用find(),查出符合条件的数据 List<CarouselInfo> carouselInfos = mongoTemplate.find(query, CarouselInfo.class);
七,SpringBoot整合mongodb完成基本的增删改查操作,根据需要,自行调试,完活收工。
这篇关于SpringBoot整合MongoDB完成增删改查分页查询的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南