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
- BIRT 如何連線 MongoDBMongoDB
- SQL語言基礎(多表連線)SQL
- MongoDB基礎命令MongoDB
- node.js連線mongodbNode.jsMongoDB
- Mongodb資料庫連線MongoDB資料庫
- Spark連線MongoDB之ScalaSparkMongoDB
- php連線mysql資料庫基礎PHPMySql資料庫
- SQL Server 連線基礎知識(轉)SQLServer
- ES 基礎用法
- Promise基礎用法Promise
- Promise 基礎用法Promise
- mongodb基礎入門MongoDB
- Mongodb-基礎操作MongoDB
- MongoDB基礎總結MongoDB
- PHP基礎教程-16 字串連線運算子PHP字串
- Oracle連線MongoDB資料庫OracleMongoDB資料庫
- python與MongoDB的連線PythonMongoDB
- Oracle左外連線、右外連線、完全外連線以及(+)號用法Oracle
- git 基礎用法梳理Git
- dos-基礎用法
- JSTL基礎用法JS
- NSURLSession的基礎用法Session
- Dapper基礎用法APP
- MongoDB基礎知識梳理MongoDB
- 開箱即用的基礎設施連線選項
- node.js連線mongodb介紹Node.jsMongoDB
- css的基礎用法(下)CSS
- nodeJS基礎 Stream用法NodeJS
- Redux 入門 -- 基礎用法Redux
- Android PopupMenu基礎用法Android
- sed基礎用法小結
- MongoDB for C#基礎入門MongoDBC#
- MongoDB資料庫基礎操作MongoDB資料庫
- httpWebRequest請求錯誤,基礎連線已經關閉: 連線被意外關閉HTTPWeb
- Linux基礎命令---lftp連線ftp伺服器LinuxFTP伺服器
- python基礎學習24—-使用pymysql連線mysqlPythonMySql
- PHP中的連線字元. 的用法PHP字元