SpringDataMongo連線MongoDB基礎用法
1.匯入maven依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
2.配置yml
spring:
application:
name: mongo
data:
mongodb:
# mongo開啟auth後需要使用者名稱、密碼,不開啟則不需要使用者名稱,密碼
uri: mongodb://root:root@localhost:27017
database: db_test
3.編寫實體類,指明類對應於Mongo資料庫中的集合
@Data //此註解會生成getter和setter方法
@ToString //此註解會生成ToString方法
// @data @ToString是Lombok下的註解,可自動生成getter、setter、tostring方法
@Document(collection = "test") //指明此類對應db_test資料庫下的test集合
public class Test {
//id 對應資料庫中的主鍵(_id,自動生成)
@Id
private String id;
private String name;
}
4.寫dao介面,繼承MongoRepository<T,ID>,其中T為要查詢的實體類,ID為主鍵型別
import org.springframework.data.mongodb.repository.MongoRepository;
public interface TestRepository extends MongoRepository<Test,String> {
//根據名稱查詢
Test findByName(String name);
}
檢視TestRepository介面中的方法
5.測試
// 注入TestRepository物件
@Autowired
TestRepository TestRepository ;
// 測試查詢所有方法
@Test
public void testFindAll(){
List<Test> list= TestRepository .findAll();
System.out.println(list);
}
// 分頁查詢
@Test
public void testFindPage(){
//分頁引數
int page = 0; // 頁數從0開始,代表第一頁
int size = 10; // 頁面大小
// 返回值型別可以用Pageable接收,因為PageRequest的父類實現了Pageable介面,這裡用到了多型
//Pageable pageable = PageRequest.of(page,size);
PageRequest pageable = PageRequest.of(page,size);
Page<Test> page= TestRepository.findAll(pageable);
System.out.println(page.getContent());
}
// 更新資料
@Test
public void testUpdate() {
//查詢物件
Optional<Test> optional = TestRepository.findById("資料庫中的主鍵Id(ObjectId型別)");
// 判斷optical是否為空
/**
原始碼:
public boolean isPresent() {
return value != null;
}
*/
if(optional.isPresent()){
Test test= optional.get();
//設定要修改值
test.setName("test01");
//...
// 儲存到資料庫中
Test save = TestRepository.save(test);
System.out.println(save);
}
}
// 新增資料
@Test
public void testSave(){
Test test = new Test();
test.setName("test02");
Test save = TestRepository.save(test);
System.out.println(save);
}
// 自定義根據name查詢
@Test
public void testfindByname(){
Test test= TestRepository.findByName("test02");
System.out.println(test);
}
相關文章
- php連線mongodbPHPMongoDB
- mongodb連線字串MongoDB字串
- BIRT 如何連線 MongoDBMongoDB
- MongoDB基礎命令MongoDB
- MongoDB基礎操作MongoDB
- Promise基礎用法Promise
- ES 基礎用法
- JSTL基礎用法JS
- SqlSugar基礎用法SqlSugar
- Promise 基礎用法Promise
- print基礎用法
- SQL語言基礎(多表連線)SQL
- Mongodb資料庫連線MongoDB資料庫
- node.js連線mongodbNode.jsMongoDB
- mongodb基礎入門MongoDB
- MongoDB基礎總結MongoDB
- Mongodb-基礎操作MongoDB
- git 基礎用法梳理Git
- dos-基礎用法
- nodeJS基礎 Stream用法NodeJS
- MongoDB基礎知識梳理MongoDB
- Oracle左外連線、右外連線、完全外連線以及(+)號用法Oracle
- GStreamer基礎教程04 - 動態連線Pipeline
- css的基礎用法(下)CSS
- Redux 入門 -- 基礎用法Redux
- Linux——基礎命令用法(下)Linux
- Linux——基礎命令用法(上)Linux
- Python連線訪問mongodb副本集PythonMongoDB
- MongoDB的基本用法MongoDB
- MongoDB中regex用法MongoDB
- python基礎學習24—-使用pymysql連線mysqlPythonMySql
- Linux基礎命令---lftp連線ftp伺服器LinuxFTP伺服器
- PHP中的連線字元. 的用法PHP字元
- Redis基礎——剖析基礎資料結構及其用法Redis資料結構
- 060、Vue3+TypeScript基礎,插槽的基礎用法VueTypeScript
- JavaScript:async/await的基礎用法JavaScriptAI
- Elaticsearch(一)--基礎原理及用法
- linux安裝mongoDB與遠端連線LinuxMongoDB