摘要:前言如題,今天介紹下是如何整合的。存儲結構如下男一個優秀的廢人準備工作創建一個名為的數據庫,不會建的。層實現類添加學生信息根據刪除學生信息更新學生信息根據查詢學生信息查詢學生信息列表層測試結果測試已經全部通過,這里僅展示了保存操作。
微信公眾號:一個優秀的廢人。如有問題,請后臺留言,反正我也不會聽。前言
如題,今天介紹下 SpringBoot 是如何整合 MongoDB 的。
MongoDB 簡介MongoDB 是由 C++ 編寫的非關系型數據庫,是一個基于分布式文件存儲的開源數據庫系統,它將數據存儲為一個文檔,數據結構由鍵值 (key=>value) 對組成。MongoDB 文檔類似于 JSON 對象。字段值可以包含其他文檔,數組及文檔數組,非常靈活。存儲結構如下:
{ "studentId": "201311611405", "age":24, "gender":"男", "name":"一個優秀的廢人" }準備工作
SpringBoot 2.1.3 RELEASE
MongnDB 2.1.3 RELEASE
MongoDB 4.0
IDEA
JDK8
創建一個名為 test 的數據庫,不會建的。參考菜鳥教程:
http://www.runoob.com/mongodb...
配置數據源spring: data: mongodb: uri: mongodb://localhost:27017/test
以上是無密碼寫法,如果 MongoDB 設置了密碼應這樣設置:
spring: data: mongodb: uri: mongodb://name:password@localhost:27017/testpom 依賴配置
實體類org.springframework.boot spring-boot-starter-data-mongodb org.springframework.boot spring-boot-starter-web org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test
@Data public class Student { @Id private String id; @NotNull private String studentId; private Integer age; private String name; private String gender; }dao 層
和 JPA 一樣,SpringBoot 同樣為開發者準備了一套 Repository ,只需要繼承 MongoRepository 傳入實體類型以及主鍵類型即可。
@Repository public interface StudentRepository extends MongoRepositoryservice 層{ }
public interface StudentService { Student addStudent(Student student); void deleteStudent(String id); Student updateStudent(Student student); Student findStudentById(String id); ListfindAllStudent(); }
實現類:
@Service public class StudentServiceImpl implements StudentService { @Autowired private StudentRepository studentRepository; /** * 添加學生信息 * @param student * @return */ @Override @Transactional(rollbackFor = Exception.class) public Student addStudent(Student student) { return studentRepository.save(student); } /** * 根據 id 刪除學生信息 * @param id */ @Override public void deleteStudent(String id) { studentRepository.deleteById(id); } /** * 更新學生信息 * @param student * @return */ @Override @Transactional(rollbackFor = Exception.class) public Student updateStudent(Student student) { Student oldStudent = this.findStudentById(student.getId()); if (oldStudent != null){ oldStudent.setStudentId(student.getStudentId()); oldStudent.setAge(student.getAge()); oldStudent.setName(student.getName()); oldStudent.setGender(student.getGender()); return studentRepository.save(oldStudent); } else { return null; } } /** * 根據 id 查詢學生信息 * @param id * @return */ @Override public Student findStudentById(String id) { return studentRepository.findById(id).get(); } /** * 查詢學生信息列表 * @return */ @Override public Listcontroller 層findAllStudent() { return studentRepository.findAll(); } }
@RestController @RequestMapping("/student") public class StudentController { @Autowired private StudentService studentService; @PostMapping("/add") public Student addStudent(@RequestBody Student student){ return studentService.addStudent(student); } @PutMapping("/update") public Student updateStudent(@RequestBody Student student){ return studentService.updateStudent(student); } @GetMapping("/{id}") public Student findStudentById(@PathVariable("id") String id){ return studentService.findStudentById(id); } @DeleteMapping("/{id}") public void deleteStudentById(@PathVariable("id") String id){ studentService.deleteStudent(id); } @GetMapping("/list") public List測試結果findAllStudent(){ return studentService.findAllStudent(); } }
Postman 測試已經全部通過,這里僅展示了保存操作。
這里推薦一個數據庫可視化工具 Robo 3T 。下載地址:https://robomongo.org/download
完整代碼https://github.com/turoDog/De...
如果覺得對你有幫助,請給個 Star 再走唄,非常感謝。
后語如果本文對你哪怕有一丁點幫助,請幫忙點好看。你的好看是我堅持寫作的動力。
另外,關注之后在發送 1024 可領取免費學習資料。
資料詳情請看這篇舊文:Python、C++、Java、Linux、Go、前端、算法資料分享
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19492.html
摘要:前言如題,今天介紹下是如何整合的。存儲結構如下男一個優秀的廢人準備工作創建一個名為的數據庫,不會建的。層實現類添加學生信息根據刪除學生信息更新學生信息根據查詢學生信息查詢學生信息列表層測試結果測試已經全部通過,這里僅展示了保存操作。 微信公眾號:一個優秀的廢人。如有問題,請后臺留言,反正我也不會聽。 showImg(https://segmentfault.com/img/remote...
摘要:引入了新的環境和概要信息,是一種更揭秘與實戰六消息隊列篇掘金本文,講解如何集成,實現消息隊列。博客地址揭秘與實戰二數據緩存篇掘金本文,講解如何集成,實現緩存。 Spring Boot 揭秘與實戰(九) 應用監控篇 - HTTP 健康監控 - 掘金Health 信息是從 ApplicationContext 中所有的 HealthIndicator 的 Bean 中收集的, Spring...
摘要:在配置下上面啟動的配置數據庫名為賬號密碼也為。突出點是,即非阻塞的。四對象修改包里面的城市實體對象類。修改城市對象,代碼如下城市實體類城市編號省份編號城市名稱描述注解標記對應庫表的主鍵或者唯一標識符。 摘要: 原創出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關注和轉載,保留摘要,謝謝! 這是泥瓦匠的第104篇原創 文章工程: JDK...
摘要:如果你想自定義一些查詢,比如根據來查詢,獲取根據來查詢,只需要定義一個方法即可。注意嚴格按照存入的的字段對應。測試在的應用程序,加入測試代碼。啟動程序,控制臺打印了測試通過。 這篇文章主要介紹springboot如何整合mongodb。 準備工作 安裝 MongoDB jdk 1.8 maven 3.0 idea 環境依賴 在pom文件引入spring-boot-starter-da...
閱讀 2732·2023-04-25 14:21
閱讀 1167·2021-11-23 09:51
閱讀 4000·2021-09-22 15:43
閱讀 605·2019-08-30 15:55
閱讀 1550·2019-08-29 11:28
閱讀 2438·2019-08-26 11:44
閱讀 1675·2019-08-23 18:15
閱讀 2874·2019-08-23 16:42