五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

JeecgBoot與MongoDB集成實戰(zhàn)文檔

2021-12-25 21:10 作者:jeecg  | 我要投稿

1. 坐標引入依賴

<dependency>
????<groupId>org.springframework.boot</groupId>
????<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

2. 增加配置類

package?org.jeecg.config;
?
import?com.mongodb.client.MongoClient;
import?org.springframework.context.annotation.Bean;
import?org.springframework.context.annotation.Configuration;
import?org.springframework.data.mongodb.core.MongoClientFactoryBean;
import?org.springframework.data.mongodb.core.MongoOperations;
import?org.springframework.data.mongodb.core.MongoTemplate;
?
@Configuration
public?class?MongoConfig?{
?
????@Bean
????public?MongoClientFactoryBean?mongoClientFactoryBean()?{
????????MongoClientFactoryBean?factoryBean?=?new?MongoClientFactoryBean();
????????factoryBean.setHost("127.0.0.1");
????????factoryBean.setPort(27017);
????????return?factoryBean;
????}
????@Bean
????public?MongoTemplate?mongoTemplate(MongoClient?mongoClient)?{
????????return?new?MongoTemplate(mongoClient,?"springboot-db");
????}
}

說明:新建springboot工程,引入坐標,然后在application.properties文件中加入

spring.data.mongodb.uri=mongodb://localhost:27017/springboot-db

springboot就能支持MongoRepository和MongoTemplate讀寫MongoDb,測試很順利。

但是將springboot工程中的代碼加入到jeecgboot中,運行后一直提示錯誤

用這個配置類,代替yml中的mongodb配置可解決該錯誤。

3. 升級積木報表

針對上面提到的mongoTemplate錯誤,官方已經提供了最新的解決方案,將積木報表升級。這樣就可以不用配置類。

<dependency>
????<groupId>org.jeecgframework.jimureport</groupId>
????<artifactId>jimureport-spring-boot-starter</artifactId>
????<version>1.4.2</version>
</dependency>

之后在application-dev.yml文件中,加入mongoDb的配置項

spring:
??data:
????mongodb:
??????uri:?mongodb://localhost:27017/springboot-db

4. 創(chuàng)建實體類

package?org.jeecg.modules.mongodb.entity;

import?org.springframework.data.annotation.Id;
?
public?class?Customer?{
?
????@Id
????public?String?id;
?
????public?String?firstName;
????public?String?lastName;
?
????public?Customer()?{}
?
????public?Customer(String?firstName,?String?lastName)?{
????????this.firstName?=?firstName;
????????this.lastName?=?lastName;
????}
?
????@Override
????public?String?toString()?{
????????return?String.format(
????????????????"Customer[id=%s,?firstName='%s',?lastName='%s']",
????????????????id,?firstName,?lastName);
????}
?
}

5. 創(chuàng)建Repository

package?org.jeecg.modules.mongodb.dao;
?
import?org.jeecg.modules.mongodb.entity.Customer;
import?org.springframework.data.mongodb.repository.MongoRepository;
?
import?java.util.List;
?
public?interface?CustomerRepository?extends?MongoRepository<Customer,?String>?{
?
?????Customer?findByFirstName(String?firstName);
?????List<Customer>?findByLastName(String?lastName);
?
}

6. 測試用例

用兩種方式測試mongoDB,分別為MongoRepository和MongoTemplate

package?org.jeecg.modules.mongodb;
?
import?org.jeecg.common.api.vo.Result;
import?org.jeecg.modules.mongodb.dao.CustomerRepository;
import?org.jeecg.modules.mongodb.entity.Customer;
import?org.springframework.beans.factory.annotation.Autowired;
import?org.springframework.data.mongodb.core.MongoTemplate;
import?org.springframework.web.bind.annotation.*;
?
import?java.util.HashMap;
import?java.util.Map;
?
?
/**
?*?測試mongodb
?*/
@RestController
@RequestMapping("/mongo")
public?class?MongoController?{
?
????@Autowired
????private?MongoTemplate?mongoTemplate;
????@Autowired
????private?CustomerRepository?repository;
?
????@GetMapping("/test1")
????public?Result<?>?TestMongoDb(){
????????Map<String,String>?map?=?new?HashMap<>();
????????map.put("jeecg","mongodb-jeecg");
????????mongoTemplate.insert(map,?"testMongoDb");
?
????????return?Result.OK("存入成功");
????}
?
????@GetMapping("/test2")
????public?Result<?>?TestMongoDb2(){
????????repository.deleteAll();
?
????????//?save?a?couple?of?customers
????????repository.save(new?Customer("Alice",?"Smith"));
????????repository.save(new?Customer("Bob",?"Smith"));
?
????????//?fetch?all?customers
????????System.out.println("Customers?found?with?findAll():");
????????System.out.println("-------------------------------");
????????for?(Customer?customer?:?repository.findAll())?{
????????????System.out.println(customer);
????????}
????????System.out.println();
?
????????//?fetch?an?individual?customer
????????System.out.println("Customer?found?with?findByFirstName('Alice'):");
????????System.out.println("--------------------------------");
????????System.out.println(repository.findByFirstName("Alice"));
?
????????System.out.println("Customers?found?with?findByLastName('Smith'):");
????????System.out.println("--------------------------------");
????????for?(Customer?customer?:?repository.findByLastName("Smith"))?{
????????????System.out.println(customer);
????????}
?
????????return?Result.OK("存入成功");
????}
?
}

7. 測試結果

測試后的數據庫截圖


JeecgBoot與MongoDB集成實戰(zhàn)文檔的評論 (共 條)

分享到微博請遵守國家法律
冀州市| 桦川县| 旺苍县| 桐梓县| 梁山县| 磴口县| 龙山县| 牙克石市| 江门市| 兰州市| 广宗县| 达拉特旗| 灵山县| 桃源县| 胶州市| 河池市| 文登市| 长岭县| 东辽县| 泽州县| 金沙县| 呼伦贝尔市| 喀什市| 绩溪县| 金平| 万载县| 河间市| 自治县| 盐亭县| 寻乌县| 固镇县| 巨鹿县| 靖西县| 五台县| 岗巴县| 昌邑市| 安丘市| 迁西县| 白水县| 锦屏县| 太仓市|