標籤:depend private ESS 應用程式 enc SM car 資料 自己實現
環境依賴
在pom檔案引入spring-boot-starter-data-mongodb依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
資料來源配置
如果mongodb連接埠是預設連接埠,並且沒有設定密碼,可不配置,sprinboot會開啟預設的。
spring.data.mongodb.uri=mongodb://localhost:27017/springboot-db
mongodb設定了密碼,這樣配置:
spring.data.mongodb.uri=mongodb://name:[email protected]:27017/dbname
定義一個簡單的實體
mongodb
package cn.tao.domain;import org.springframework.data.mongodb.core.mapping.Document;@Document(collection="t_customer")public class Customer {
public String _id; public String carNumber; public String get_id() { return _id; } public void set_id(String _id) { this._id = _id; } public String getCarNumber() { return carNumber; } public void setCarNumber(String carNumber) { this.carNumber = carNumber; }}
據操作dao層
@Repository
public interface CustomerRepository extends MongoRepository<Customer, String> { //public Customer findByFirstName(String firstName); //public List<Customer> findByLastName(String lastName);}
寫一個介面,繼承MongoRepository,這個介面有了幾本的CURD的功能。如果你想自訂一些查詢,比如根據firstName來查詢,擷取根據lastName來查詢,只需要定義一個方法即可。注意firstName嚴格按照存入的mongodb的欄位對應。在典型的java的應用程式,寫這樣一個介面的方法,需要自己實現,但是在springboot中,你只需要按照格式寫一個介面名和對應的參數就可以了,因為springboot已經幫你實現了。
controller調用方式
package cn.tao.controller;import cn.tao.domain.KdVehicle;import cn.tao.repository.KdVehicleRepository;//import cn.tao.service.MongoService;import cn.tao.service.SynService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.mongodb.core.MongoTemplate;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController@RequestMapping("/mongo")public class MongoController { @Autowired private KdVehicleRepository kdVehicleRepository; @Autowired private MongoTemplate mongoTemplate; /** * 處理excel與資料庫之間的差異資料 * */ @RequestMapping("/list") public List<Customer> dobegin() throws Exception { List<Customer> list = kdVehicleRepository.findAll(); //List<KdVehicle> list2 = mongoTemplate.findAll(Customer.class);//也可以 return list; }}
springboot 整合mongodb