1. 程式人生 > >springboot乾貨——(十四【一】)整合mongodb

springboot乾貨——(十四【一】)整合mongodb

mongodb這塊我就不介紹了,不瞭解的小夥伴可以移步mongodb教程

直接上專案

1.專案結構圖如下:


2.pom.xml如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.gwd</groupId>
	<artifactId>springboot-mongodb</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>springboot-mongodb</name>
	<description>Demo project for springboot-mongodb</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.10.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

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

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>

3.application.properties

有密碼的如下:

spring.data.mongodb.uri=mongodb://name:[email protected]:27017/test

name對應使用者名稱,pass對應密碼

沒有密碼的如下:

spring.data.mongodb.uri=mongodb://localhost:27017/test

4.model層

User:

public class User {
	@Id
    private Long id;

    private String username;
    private Integer age;
    public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}

	public User(Long id, String username, Integer age) {
        this.id = id;
        this.username = username;
        this.age = age;
    }
}

5.Repository

UserRepository:

public interface UserRepository extends MongoRepository<User, Long>{
	
	User findByUsername(String username);
}


6.Controller
package com.gwd.controller;
/** 
* @FileName TestController.java
* @Description:TODO
* @author JackHisen(gu.weidong)
* @version V1.0
* @createtime 2018年2月23日 下午5:02:05 
* 修改歷史:
* 時間           作者          版本        描述
*====================================================  
*
*/
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.gwd.model.User;
import com.gwd.repository.UserRepository;

@RestController
public class TestController {
	@Autowired
	private UserRepository userRepository;
	
	@RequestMapping("/testMongodb")
	public String testMongodb() {
		// 建立三個User,並驗證User總數
		userRepository.save(new User(1L, "didi", 30));
		userRepository.save(new User(2L, "mama", 40));
		userRepository.save(new User(3L, "kaka", 50));
		System.out.println(userRepository.findAll().size());

		// 刪除一個User,再驗證User總數
		User u = userRepository.findOne(1L);
		userRepository.delete(u);
		System.out.println(userRepository.findAll().size());

		// 刪除一個User,再驗證User總數
		u = userRepository.findByUsername("mama");
		userRepository.delete(u);
		System.out.println(userRepository.findAll().size());
		return userRepository.findByUsername("kaka").getUsername();
	}
}

7.測試



相關推薦

springboot乾貨——整合mongodb

mongodb這塊我就不介紹了,不瞭解的小夥伴可以移步mongodb教程直接上專案1.專案結構圖如下:2.pom.xml如下<?xml version="1.0" encoding="UTF-8"

Java工程師培訓課新的領域

夜光序言:     正文: XML入門 1.1 引入 HTML,超文字標記語言。 html語言語法是很鬆散的! 1)標籤不區分大小寫的! 2)標籤可以不匹配的。   由w3c組織,針對html的語法缺陷,去設計了另

企業級 SpringBoot 教程 springboot中用redis實現消息隊列

listen idea rom ont sage 入口 adapter html ada 準備階段 java 1.8 maven 3.0 idea 環境依賴 創建一個新的springboot工程,在其pom文件,加入spring-boot-starter-data-re

Java學習記錄中級——異常處理

(1)、異常定義:導致程式的正常流程被中斷的事件,叫做異常。 (2)、異常處理常見手段: 【 try-catch 】、【 try-catch-finally 】、【 throws 】 注意:try-

springboot乾貨——使用@Async實現非同步呼叫

非同步呼叫針對的是同步呼叫,一般在程式碼中我們使用同步呼叫相對較多,即請求程式碼立即返回結果或者說執行程式碼,非同步呼叫則是指請求之後不會裡面返回結果或者是呼叫程式碼。 接下來我們用例項來看下什麼是同步呼叫: 新建一個springboot專案後建立對應的task類: pa

springboot乾貨——AOP

AOP這個名詞相信大家都不陌生,尤其是在面試的過程中,面試官多多少少都會問到一些關於他的問題,這玩意兒有用嗎?答案是必然的,只是在日常業務邏輯中用的不多,一般像想在某個寫好的程式碼之前插入一些內容,這種情況下用的比較多,那麼接下來我們就一起來看看他在spring boot中

Springboot 系列迅速啟用 HTTPS 加密你的網站

1. 獲取 HTTPS 證書 正常情況下 HTTPS 證書需要從證書授權中心獲得,這樣獲得的證書才具有公信力,也會被各種瀏覽器客戶端所認可。常見的證書品牌如 Symantec,GeoTrustm,TrustAsia,Symantec 等。不過在 Springboot 的 HTTPS 實驗中就沒有必要去申請了,

SpringBoot系列整合郵件傳送服務及郵件傳送的幾種方式

**往期推薦** [SpringBoot系列(一)idea新建Springboot專案](https://www.cnblogs.com/swzx-1213/p/12345330.html) [SpringBoot系列(二)入門知識](https://www.cnblogs.com/swzx-1213/p

JavaScript_11設計模式單體模式簡單單體和閉包單體

<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>New Web Project</title>

微信小程式:授權問題scope.userInfo廢棄

今天發現微信廢棄了授權API:’scope.userInfo’ wx.getSetting({ success(res) { if (!res.authSetting['scope.userInfo']) {

基於springboot+redis+bootstrap+mysql開發套屬於自己的分散式springcloud雲許可權架構許可權架構消費者通用類編寫

       許可權架構的消費者和許可權架構的生產者一樣可以高度抽象化我們的通用接口出來,因此本章我們將這些消費者介面高度抽象出來,理論上這些高度抽象出來的介面是可以作為一個獨立的module需要的時候使用maven引入,不過此處就不再解耦出來,而是直接寫在我們的許可權架構服

轉載[海莉zhe] 每日Unity3D 實戰練習-實現物體的映象

http://www.manew.com/thread-140831-1-1.html     最近在學習如何實現物體的映象,練習了一個簡單的例子,然後和大家一起探討一下哈!物體映象的操作實際上是通過一個模型的MeshFilter 和 MeshRenderer 來獲取

ASP.NET Core快速入門MVC開發:UI、 EF + Identity實現

dfa models cti ted lec inpu word pri numeric 前言 之前我們進行了MVC的web頁面的Cookie-based認證實現,接下來的開發我們要基於之前的MvcCookieAuthSample項目做修改。 MvcCookieAuth

Python小白學習之路作用域匿名函式程式設計方法論高階函式

    吧啦吧啦內心戲 在沒有具體學作用域之前,我在之前的學習筆記中就有提到 我開始以為是自己自創的詞兒 沒想到這個詞早已經存在(手動捂臉) 真是個無知的小火鍋(不知者無罪) 我發現自己最擅長做的事情,就是給自己找個臺階,然後很快順勢滑下來 一、作用域 先來一段程式碼分析一波吧

linuxValgrind工具集詳解:Cachegrind快取和分支預測分析器

一、概述 Cachegrind,它模擬CPU中的一級快取I1,Dl和二級快取,能夠精確地指出程式中cache的丟失和命中。如果需要,它還能夠為我們提供cache丟失次數,記憶體引用次數,以及每行程式碼,每個函式,每個模組,整個程式產生的指令數。這對優化程式有很大的幫助。 Cach

Android破解學習之路——Unity3D王牌大作戰破解

一、前言 今天帶來的是王牌大作戰的破解教程,遊戲下載的話,我是直接去TapTap官網下載的 支付寶內購破解用老套了,今天學點破解的新花樣吧!! 二、支付寶內購破解 支付寶的內購破解已經很熟悉了, 直接搜尋“9000”,之後找到程式碼,修改判斷條件即可,若不明白,請看我之前寫的部落格,Android破解

TeeChart Pro ActiveX教程:列印圖表

下載TeeChart Pro ActiveX最新版本 標準列印 TeeChart Pro提供標準列印方法,可將“螢幕圖表”按原樣列印到印表機。 簡單列印命令 要列印圖表,請使用Print方法。這將打印出螢幕上顯示的圖表: [C#] tChart1.Printer.Print(); [VB.N

Git之窗git pull 衝突的解決與避免

問題如圖: 分析:       1.專案分支:master和fcarloan_branch_V1.0.4,一個是主分支,一個是“電銷分支”       2.現在需要新建一個解決“is_rightnow_bill”問題的分支,我在本地checkout -b 一個新分支,如上(1

SpringCloud:Feign對Hystrix的支援 fallbackFactory

  前面的文章中提到了fallback,這裡我們描述一個它的增強版。fallbackFactory。都是實現斷路器的功能。 UserFeignClient package com.dynam

Web API之過濾器建立過程原理解析

前言 Web API的簡單流程就是從請求到執行到Action並最終作出響應,但是在這個過程有一把【篩子】,那就是過濾器Filter,在從請求到Action這整個流程中使用Filter來進行相應的處理從而作出響應,這對於授權以及驗證時及其重要的,所以說過濾器應用是