spring boot 中使用mongoDB (个人学习记录)
1.先引入pom
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>
2.配置文件application.yml
spring:data:mongodb:uri: mongodb://IP*******:27017/库名
3.创建entity实体类
import lombok.Data;import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;import java.io.Serializable;@Data
@Document(collection = "user")
public class User implements Serializable {private static final Long serialVersionUID = 1l;@Field("id")private String id;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getAdd() {return add;}public void setAdd(String add) {this.add = add;}@Field("name")private String name;@Field("phone")private String phone;@Field("add")private String add;}
4.service层
import java.util.HashMap;public interface IUserService {HashMap<Object, Object> queryList();User findUserByUserName(String name);long updateUser(User user);boolean deleteUserById(String id);String saveUser(User user);
}
5.实现impl
import com.mongodb.client.result.UpdateResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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;
import cn.javaguide.springbootkafka01sendobjects.service.IUserService;import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;@Service
public class UserServiceImpl implements IUserService {private static Logger logger = LoggerFactory.getLogger(UserContrller.class);@Resourceprivate MongoTemplate mongoTemplate;/*** 时间 2022年3月1日* 查询user表所有集合** @return*/@Overridepublic HashMap<Object, Object> queryList() {HashMap<Object, Object> map = new HashMap<>();Query query = new Query();List<User> all = mongoTemplate.findAll(User.class);// List<AlarmRtTime> all1 = mongoTemplate.findAll(AlarmRtTime.class);long count = mongoTemplate.count(query, User.class);// boolean empty = all.isEmpty();
// Assert.isTrue(empty==false,"***********************查询信息为空***********************");
// Assert.isNull(all,"***********************查询信息为空***********************");User user = new User();if (all.isEmpty()) {
// user.setId("001");
// user.setName("tom");
// user.setPhone("1234568910");System.out.println("***********************查询信息为空***********************");
// all.add(user);}map.put("user table info :", all);map.put("user table count :", count);
// map.put("user table AlarmRtTime :", all1);return map;}@Overridepublic String saveUser(User user) {mongoTemplate.save(user);return "添加成功";}/*** 根据name查询mongodb信息* date 2022年3月1日 15点19分** @param name* @return*/@Overridepublic User findUserByUserName(String name) {Query query = new Query(Criteria.where("name").is(name));User user = mongoTemplate.findOne(query, User.class);
// Assert.isNull(user,"***********************查询信息为空***********************");return user;}/*** 根据id,修改用户信息* 时间 2022年3月1日** @param user*/@Overridepublic long updateUser(User user) {System.out.println(user);Query query = new Query(Criteria.where("id").is(user.getId()));Update update = new Update().set("name", user.getName()).set("phone", user.getPhone()).set("add", user.getAdd());//更新查询返回结果集的第一条UpdateResult result = mongoTemplate.updateFirst(query, update, User.class);//更新查询返回结果集的所有// mongoTemplate.updateMulti(query,update,UserEntity.class);if (result != null) {return result.getMatchedCount();} else {return 0;}}/*** 根据id删除对象* 时间 2022年3月1日* @param id*/@Overridepublic boolean deleteUserById(String id) {Query query=new Query(Criteria.where("id").is(id));User user = mongoTemplate.findOne(query, User.class);System.out.println(user);
// Assert.notNull(user,"找不到对应id数据");if (user==null){System.out.println("找不到对应id数据");return false;}mongoTemplate.remove(query,User.class);return true;}}
6.接口controller
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.javaguide.springbootkafka01sendobjects.service.IUserService;import javax.annotation.Resource;
import java.util.HashMap;@RestController
@RequestMapping("/user")
public class UserContrller {private static Logger logger = LoggerFactory.getLogger(UserContrller.class);@Resourceprivate IUserService userService;@PostMapping("/getInfo")private HashMap<Object, Object> getAllInfo() {return userService.queryList();}@PostMapping("/findUserByUserName")private User findUserByUserName(String name) {return userService.findUserByUserName(name);}@PostMapping("/updateUser")private long updateUser(@RequestBody User user) {return userService.updateUser(user);}@PostMapping("/deleteUserById")private boolean deleteUserById(String id) {return userService.deleteUserById(id);}@PostMapping("/saveUser")private String saveUser(@RequestBody User user) {return userService.saveUser(user);}}
7.接口测试
--添加
--查询全部 ****测试不一一截图了
建议配置下账号密码,开放性数据库容易被攻击,数据不安全
spring boot 中使用mongoDB (个人学习记录)相关推荐
- Spring Boot 中使用 MongoDB 增删改查
本文快速入门,MongoDB 结合SpringBoot starter-data-mongodb 进行增删改查 1.什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件 ...
- Spring Boot中使用MongoDB,使用 Repository以及使用MongoTemplate
文章目录 Spring Boot中使用MongoDB MongoDB Repository使用实例 导入依赖 配置MongoDB 定义Model 定义Repository 进行使用 MongoTemp ...
- Spring Boot中使用MongoDB数据库
MongoDB简介 MongoDB是一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库之间的产品,其主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS系统(具有 ...
- Spring Boot中使用MongoDB的连接池配置
因为今天开发遇到了性能问题,可能与MongoDB的连接有关,所以稍稍深入看了一下,正好搜到原来有人写过这篇相关的内容,所以转载过来.回头有时间可以写个扩展到SpringForAll里,主体思路还是一样 ...
- (转)Spring Boot(十一):Spring Boot 中 MongoDB 的使用
http://www.ityouknow.com/springboot/2017/05/08/spring-boot-mongodb.html MongoDB 是最早热门非关系数据库的之一,使用也比较 ...
- spring mysql mongdb_Spring Boot中使用MongoDB数据库的方法
MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自"humongous",是一种开源的文 ...
- mongodb的学习记录
node.js中的mongodb的学习记录: //1.创建并进入it_like数据库 use itlike db//2.向数据库的colleges集合中插入六个文档(Html5, Java, Pyth ...
- Spring Boot 如何使用 JUL 进行日志记录
Spring Boot 如何使用 JUL 进行日志记录 在 Spring Boot 中,我们可以使用多种日志框架进行日志记录.其中,JUL (Java Util Logging) 是 Java 平台自 ...
- 学习Spring Boot:(二十三)Spring Boot 中使用 Docker
前言 简单的学习下怎么在 Spring Boot 中使用 Docker 进行构建,发布一个镜像,现在我们通过远程的 docker api 构建镜像,运行容器,发布镜像等操作. 这里只介绍两种方式: 远 ...
最新文章
- 《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(5)
- [转载] 七龙珠第一部——第092话 孙悟空上场了
- ngx_lua_API 指令详解(一)ngx.timer.at 指令
- 23. Leetcode 24. 两两交换链表中的节点 (链表-基础操作类-交换链表)
- VTK:vtkTupleInterpolator 插值用法实战
- Java黑皮书课后题第10章:**10.27(实现StringBuffer类)在Java库中提供了StringBuffer类,给胡你自己对下面方法的实现(将新类命名为MyStringBuilder1)
- ubuntu下快速安装adb,fastboot的方法。
- C语言指针这些使用技巧值得收藏!
- php如何将mysql数据库中的admin字段赋值给session_转php中使用session_set_save_handler()函数把session保存到MySQL数据库实例...
- 深入理解static关键字
- Redis的N种妙用,不仅仅是缓存
- 如何在经济危机中寻找崛起之道
- windows系统bat批处理 清理注册表与蓝屏补丁
- JAVA输入/输出流详细讲解
- 史上最全IT技能学习大全公众号
- 小米笔记本桌面计算机图标,小米笔记本桌面锁定怎么解除
- 西安邮电大学计算机学院教师,西安邮电大学计算机学院
- 第一百二十七期:程序员41岁创业逆袭成全美最受欢迎CEO,公司市值近200亿美金
- 无悔入华夏怎么一直显示服务器,无悔入华夏怎么统一_无悔入华夏统一方式技巧攻略_玩游戏网...
- Spring个人深入学习路线图