很久沒有寫博客了,果然,懶惰是人類唯一的敵人。不知道爲什麼,這一段時間的自己都是比較迷茫的,可能也和這段時間工作有點忙有原因,但是這也不是一個好的藉口。總之,這一段的博客自己後面還是慢慢補上自己欠下的債吧,反正自己也有記錄。
在這一段時間中的開發使用到了MongoDB,因爲業務的關係,要做和報表有關的業務邏輯。所以使用到了MongoDB。最開始我是有點不明白的,因爲使用MySQL習慣了,所以認爲MongoDB和MySQL沒有什麼太大的區別,不就是存儲的對象的形式不一樣?這也是瞭解的太少,後面慢慢的瞭解,知道了一些MongoDB的優點。下面就記錄一下自己學習到的一些知識。
安裝MongoDB很簡單,下面就簡單的介紹一下mac安裝的步驟。下載安裝包,解壓,移動到指定的目錄下就完成了簡單的安裝,在安裝目錄下使用命令訪問就可以了。
後面的對於我來說就有點麻煩了,就是配置全局路徑。因爲mac也是剛使用不久,所以對於一些基礎的命令還是不清楚。所以這一步都是看網上的教程。最後也是完成了。下面就說說具體幹了什麼。
1.配置全局路徑,找到bash_profile文件,添加MongoDB_HOME,並且修改PATH路徑,最後使修改成效。這樣就完成了第一步。
2.在MongoDB路徑下增加data和log目錄,修改mongoDB的數據庫路徑和log路徑。這樣就完成了mongoDB的安裝。在終端敲擊mongo就會啓動mongoDB。
3.啓動後,可以配置mongo的用戶名和密碼,這裏說一下配置的用戶,一個admin用於增加用戶和刪除用戶,一個root用戶最高權限,一個name用戶用戶連接特定的數據庫(name可以隨意起)。
安裝也是參考了別人的安裝,就是下面的這篇博客。https://www.cnblogs.com/quickcodes/p/5390482.html
完成了安裝,下面就開始簡單的使用,因爲是初步的使用,所以就是簡單的存取。
首先是導入依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
在application.yml文件中配置MongoDB的信息
data:
mongodb:
uri: mongodb://admin:admin@localhost:27017/test
配置uri的時候發現了一個問題,最開始使用的如下的配置格式。
data:
mongodb:
host: 192.168.22.208
port: 27017
database: wpew
username: wpew
password: wpewUser
發現一直無法使用用戶名和密碼登錄,去掉用戶名密碼可以。最開始以爲mongo中用戶名和密碼錯誤,但是後來用該用戶名和密碼直接登錄發現可以登錄。後來改爲上面的格式就可以了,目前不知道原因,可能是和依賴的版本有關,大家知道原因的也可以在評論中告知一下,非常感謝。
下面就是代碼中關於mongo的操作。增刪改查基本的操作,後面更加複雜的聚合查詢暫時還沒有用到,後面也會慢慢補上。
在具體的操作前需要先注入一個mongoTemplate對象,然後在完成具體的數據庫的操作。
操作都是很簡單的,大部分都是一行代碼,比如保存一個對象:
mongoTemplate.insert(userDO);
根據指定字段查詢對象:
Query query = new Query(Criteria.where("userName").is(userName));
UserDO userDO = mongoTemplate.findOne(query, UserDO.class);
這些都是一些基礎的東西,具體深入的東西目前還沒有接觸到,後面還是要接着學習。
說說具體遇到的問題吧,依賴的版本導致自己試了很久,後來導入正確的依賴就沒有什麼大問題了,大家寫項目的時候一定要注意各個組件的依賴之間是否互斥。再後面就是配置的問題,和上面的一樣,因爲yml裏面的格式導致了自己的代碼一直報錯,也是很鬱悶。
代碼放在了自己的GitHub上面。地址是:https://github.com/qq1162210866/SpringBootTrain.git
就這樣吧,結束。