MongoDB(四)——SpringBoot整合mongodb
程式碼下載地址:https://github.com/tazhigang/big-data-github.git
程式碼檢視地址:https://github.com/tazhigang/big-data-github/tree/master/mongodb-parent/springboot-mongodb
一、專案結構
二、pom.xml
- mongodb-parent------->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.ittzg.mongodb</groupId> <artifactId>mongodb-parent</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.6.RELEASE</version> </parent> <modules> <module>mongodb-client</module> <module>springboot-mongodb</module> </modules> <dependencies> <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.58</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> </project>
- springboot-mongodb---->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"> <parent> <artifactId>mongodb-parent</artifactId> <groupId>com.ittzg.mongodb</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>springboot-mongodb</artifactId> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency> </dependencies> </project>
程式碼展示
- UserEntity.java
package com.ittzg.mongodb.entity; import org.bson.types.ObjectId; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; import java.util.List; /** * @email: [email protected] * @author: ittzg * @date: 2019/7/22 15:12 */ @Document(collection="user") public class UserEntity { @Id private ObjectId id; private String username; private String sex; private AddressEntity address; private List<LikeEntity> likes; @Document public static class AddressEntity{ private String province; private String citiy; private String county; public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCitiy() { return citiy; } public void setCitiy(String citiy) { this.citiy = citiy; } public String getCounty() { return county; } public void setCounty(String county) { this.county = county; } } @Document public static class LikeEntity{ private String like; public String getLike() { return like; } public void setLike(String like) { this.like = like; } } public ObjectId getId() { return id; } public void setId(ObjectId id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public AddressEntity getAddress() { return address; } public void setAddress(AddressEntity address) { this.address = address; } public List<LikeEntity> getLikes() { return likes; } public void setLikes(List<LikeEntity> likes) { this.likes = likes; } }
- UserDao.java
package com.ittzg.mongodb.dao;
import com.ittzg.mongodb.entity.UserEntity;
import org.bson.types.ObjectId;
import java.util.List;
/**
* @email: [email protected]
* @author: ittzg
* @date: 2019/7/22 14:32
*/
public interface UserDao {
// 新增或者更新資料
boolean saveOrUpdate(UserEntity userEntity);
// 查詢返回實體
List<UserEntity> findByUserName(String username);
// 刪除
boolean deleteByUserName(String username);
}
- UserDaoImpl.java
package com.ittzg.mongodb.dao.impl;
import com.ittzg.mongodb.dao.UserDao;
import com.ittzg.mongodb.entity.UserEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component;
import java.util.List;
import static org.springframework.data.mongodb.core.query.Criteria.where;
/**
* @email: [email protected]
* @author: ittzg
* @date: 2019/7/22 14:32
*/
@Component
public class UserDaoImpl implements UserDao{
@Autowired
private MongoOperations mongoOperations;
@Override
public boolean saveOrUpdate(UserEntity userEntity) {
try {
mongoOperations.save(userEntity);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
@Override
public List<UserEntity> findByUserName(String username) {
try {
Query query = new Query(where("username").is(username));
List<UserEntity> userEntities = mongoOperations.find(query, UserEntity.class);
return userEntities;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
public boolean deleteByUserName(String username) {
try {
Query query = new Query(where("username").is(username));
mongoOperations.findAllAndRemove(query, UserEntity.class);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
- UserController.java
package com.ittzg.mongodb.controller;
import com.ittzg.mongodb.dao.UserDao;
import com.ittzg.mongodb.entity.UserEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @email: [email protected]
* @author: ittzg
* @date: 2019/7/22 15:38
*/
@RestController
@RequestMapping(value = "user")
public class UserController {
@Autowired
private UserDao userDao;
@RequestMapping(value = "addOrModify",method = RequestMethod.POST)
public String addUser(@RequestBody UserEntity userEntity){
if(userDao.saveOrUpdate(userEntity)){
return "success";
}
return "failure";
}
@RequestMapping(value = "deleteByUserName",method = RequestMethod.DELETE)
public String deleteByUserName(String username){
if(userDao.deleteByUserName(username)){
return "success";
}
return "failure";
}
@RequestMapping(value = "findByUserName",method = RequestMethod.GET)
public List<UserEntity> findByUserName(String username){
return userDao.findByUserName(username);
}
}
- UserSwaggerConfig.java
package com.ittzg.mongodb.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @email: [email protected]
* @author: ittzg
* @date: 2019/7/22 13:43
* Swagger配置
*/
@Configuration
@EnableSwagger2
public class UserSwaggerConfig extends WebMvcConfigurerAdapter{
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.ittzg.mongodb"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("mongoDB測試案例")
.description("restApi of mongodb operation")
.contact("ittzg")
.version("1.0")
.build();
}
}
- MongoDBApplication.java
package com.ittzg.mongodb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @email: [email protected]
* @author: ittzg
* @date: 2019/7/22 13:43
* 由於只做演示故省略業務層
*/
@SpringBootApplication
public class MongoDBApplication {
public static void main(String[] args) {
SpringApplication.run(MongoDBApplication.class,args);
}
}
四、測試swagger頁面
相關推薦
MongoDB(四)——SpringBoot整合mongodb
程式碼下載地址:https://github.com/tazhigang/big-data-github.git 程式碼檢視地址:
springboot 整合 mongodb實現 批量更新數據
唯一值 false dom name ng- repos pub comm isa 現需求:需要批量將1000個數據先查詢在更新到mongodb(如果查詢不到數據,則添加數據) 1:工具類BathUpdateOptions 1 import org.springfram
企業級 SpringBoot 教程 (八)springboot整合mongodb
tom with 自定義 let 企業 ice system face find 準備工作 安裝 MongoDB jdk 1.8 maven 3.0 idea 環境依賴 在pom文件引入spring-boot-starter-data-mongodb依賴: <d
springboot整合mongoDB 異常認證
1.springboot連線mongoDB 出現異常認證 異常詳情: com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=null, userName='admin', so
SpringBoot 整合MongoDB的基本操作
話不多說,直接上程式碼(轉載務必說明出處 https://blog.csdn.net/LiaoHongHB/article/details/83900867): public class MongoDaoImpl<T> implements MongoDao&l
MongoDB聚合操作例項(基於SpringBoot 整合MongoDB)
轉載務必說明出處:https://blog.csdn.net/LiaoHongHB/article/details/83579030 spring boot整合mongdb,其中的mongodbTemplate只有一些簡單的方法對mongod
springBoot整合MongoDB(單機)
依賴: <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-mongodb --> <dependency>
springboot 整合 mongodb
pom.xml: <!--mongodb--> <dependency> <groupId>org.springframework.boot</groupId> <artifac
springboot整合mongodb簡單demo
前提當然是有mongodb應用,安裝可以參考之前寫的一篇https://blog.csdn.net/u011890101/article/details/82698773 建立springboot應用,新增依賴,這裡使用data下的mongo包 <dependency>
springboot整合MongoDB一:新增刪除操作
一. 新增 Spring Data MongoDB 的MongoTemplate提供了兩種儲存文件方式,分別是save和insert方法,這兩種的區別: (1)save :我們在新增文件時,如果有一個相同_ID的文件時,會覆蓋原來的。 (2)insert:我
springboot 整合mongodb並操作簡單增刪改查
宣告: 執行環境:jdk 1.8、maven3.5.4、spingboot 2.0、mongodb、等 操作步驟: 第一步:pom檔案中新增jar包依賴(正常情況下) <!--mongodb --> <dependency>
轉載:SpringBoot非官方教程 | 第八篇:springboot整合mongodb
這篇文章主要介紹springboot如何整合mongodb。 準備工作 jdk 1.8 maven 3.0 idea 環境依賴 在pom檔案引入spring-boot-starter-data-mongodb依賴: <dependency>
SpringBoot整合MongoDB
一、mongodb簡介 MongoDB是一個基於分散式檔案儲存的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充套件的高效能資料儲存解決方案。 MongoDB是一個介於關係資料庫和非關係資料庫之間的產品,是非關係資料庫當中功能最
SpringBoot整合MongoDB之MongoDB環境搭建
下載MongoDB 下載地址 在D盤下建立目錄 在D:\MongoDB\Data 在D:\MongoDB目錄下解壓下載好的安裝檔案 win+R開啟CMD視窗 進入到bin目錄下 (本人的是D:\MongoDB\mongodb-win32-x86_64-20
SpringBoot 整合 MongoDB 之 MongoTemplate 實現 CRUD、分頁介面
###一、前言 最近 ITAEM 團隊的一個前端女生使用了 node+MongoDB 做了一個視訊網站,效果相當不錯,這勾起了筆者塵封已久的 MongoDB 記憶,於是結合目前最為流行的後臺框架 SpringBoot,做了一個一般專案常用後臺的介面 CRUD 操
SpringBoot整合MongoDB,使用mongoTemplate實現高階查詢
一、前言 最近專案使用MongoDB作為資料主要存取的地方 又是第一次接觸MongoDB,也是踩了不少坑... 維護資料無非就是增刪改查,而裡面最複雜的就是查詢了 所以來總結一下有關MongoDB的查詢方法 當然如果你在此之前你對MongoDB一點都不瞭解的話 個
菜鳥入坑》springboot整合mongodb問題1-Decimal128和BigDecimal的轉換
1.Decimal128的瞭解由於mongodb4.3以上新加了Decimal128型別。Decimal128型別對小數給了最好的支援,而double型別對小數存在精度的問題。個人覺得Decimal128還是不錯的。但是我測試發現spring-data-mongodb 1.*
五、springboot 整合 mongodb
一、在 Linux 上開啟 mongodb 複製集的先期準備 1、開啟 複製集 所有節點的埠,供遠端訪問 /sbin/iptables -I INPUT -p tcp --dport 28001 -j ACCEPT&&/etc/init.d/iptables save
第七章:springboot整合MongoDB
本篇博文主要講述入使用springboot對MongoDB進行整合 這裡我們需要先安裝配置MongoDB。在官網下載會比較慢,(反正我是比較慢啦,不知道各位的了)所以我特意提供了一下我下載好的安裝包,以及補丁,還有一個視覺化工具。地址在下方,有需要的可以前往下載。 此
springboot整合MongoDB提供MongoTemplate實現json的增查改操作
1.儲存json資料可以字串的格式存放,也可以將json用封裝類進行接收 2.用物件接收json資料的封裝類,必須設有id屬性,不然儲存成功後MongoDB返回來id無法接收得到(注意) @controller層程式碼 //儲存資料 mongoTemplate.