Home >Java >javaTutorial >How to configure MongoDB database in SpringBoot2
NoSQL (Not Only SQL) means "not just SQL". A general term for database management systems that are different from traditional relational databases. NoSQL is used for the storage of very large-scale data. These types of data stores do not require a fixed schema and can scale out without redundant operations.
--优点: 高可扩展性 分布式计算 低成本 架构的灵活性,半结构化数据 没有复杂的关系 --缺点: 没有标准化 有限的查询功能(到目前为止) 数据展现不直观
MongoDB is a relationship between a relational database and a non-relational database The product among databases is the one with the richest functions and the most similar to a relational database among non-relational databases. The data structure it supports is very loose and is a json-like bjson format, so it can store more complex data types. The biggest feature of MongoDB is that the query language it supports is very powerful. Its syntax is somewhat similar to an object-oriented query language. It can achieve almost most functions similar to single-table queries in relational databases, and it also supports indexing of data.
1) MongoDB is written in C language and is an open source database system based on distributed file storage.
2) Under high load conditions, adding more nodes can ensure server performance.
3) MongoDB aims to provide scalable, high-performance data storage solutions for WEB applications.
4) MongoDB stores data as a document, and the data structure consists of key-value (key=>value) pairs. MongoDB documents are similar to JSON objects. Field values can contain other documents, arrays, and document arrays.
# 打开命令行 MongoDB4.0\bin>mongo # 展示所有数据库 > show databases # 新建一个admin数据库,命令比较难为情 > db.admin.insert({"name":"管理员数据库"}); # 使用admin数据库 > use admin # 创建root用户,具有读写权限 > db.createUser({user:"root",pwd:"root",roles:[{role:"readWrite",db:"admin"}]}) Successfully added user:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
Username: root
Password: root
Database: admin
spring: data: mongodb: uri: mongodb://root:root@localhost:27017/admin
public interface ImgInfoRepository { void saveImg(ImgInfo imgInfo) ; ImgInfo findByImgTitle(String imgTitle); long updateImgInfo(ImgInfo imgInfo) ; void deleteById(Integer imgId); }
How to use MongoDB as follows.
import com.boot.mongodb.entity.ImgInfo; import com.boot.mongodb.repository.ImgInfoRepository; import com.mongodb.client.result.UpdateResult; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Service; import javax.annotation.Resource; @Service public class ImgInfoRepositoryImpl implements ImgInfoRepository { @Resource private MongoTemplate mongoTemplate; @Override public void saveImg(ImgInfo imgInfo) { mongoTemplate.save(imgInfo) ; } @Override public ImgInfo findByImgTitle(String imgTitle) { Query query=new Query(Criteria.where("imgTitle").is(imgTitle)); return mongoTemplate.findOne(query,ImgInfo.class); } @Override public long updateImgInfo(ImgInfo imgInfo) { Query query = new Query(Criteria.where("imgId").is(imgInfo.getImgId())); Update update= new Update().set("imgTitle", imgInfo.getImgTitle()).set("imgUrl", imgInfo.getImgUrl()); UpdateResult result = mongoTemplate.updateFirst(query,update,ImgInfo.class); return result.getMatchedCount(); } @Override public void deleteById(Integer imgId) { Query query = new Query(Criteria.where("imgId").is(imgId)); mongoTemplate.remove(query,ImgInfo.class); } }
import com.boot.mongodb.MongoDBApplication; import com.boot.mongodb.entity.ImgInfo; import com.boot.mongodb.repository.ImgInfoRepository; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import javax.annotation.Resource; import java.util.Date; @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = MongoDBApplication.class) public class MongoTest { @Resource private ImgInfoRepository imgInfoRepository ; @Test public void test1 (){ ImgInfo record = new ImgInfo() ; record.setImgId(1); record.setUploadUserId("A123"); record.setImgTitle("博文图片"); record.setSystemType(1) ; record.setImgType(2); record.setImgUrl("https://avatars0.githubusercontent.com/u/50793885?s=460&v=4"); record.setLinkUrl("https://avatars0.githubusercontent.com/u/50793885?s=460&v=4"); record.setShowState(1); record.setCreateDate(new Date()); record.setUpdateDate(record.getCreateDate()); record.setRemark("知了"); record.setbEnable("1"); imgInfoRepository.saveImg(record); } @Test public void test2 (){ ImgInfo imgInfo = imgInfoRepository.findByImgTitle("博文图片") ; System.out.println("imgInfo === >> " + imgInfo); } @Test public void test3 (){ ImgInfo record = new ImgInfo() ; record.setImgId(1); record.setUploadUserId("A123"); record.setImgTitle("知了图片"); record.setSystemType(1) ; record.setImgType(2); record.setImgUrl("https://avatars0.githubusercontent.com/u/50793885?s=460&v=4"); record.setLinkUrl("https://avatars0.githubusercontent.com/u/50793885?s=460&v=4"); record.setShowState(1); record.setCreateDate(new Date()); record.setUpdateDate(record.getCreateDate()); record.setRemark("知了"); record.setbEnable("1"); long result = imgInfoRepository.updateImgInfo(record) ; System.out.println("result == >> " + result); } @Test public void test4 (){ imgInfoRepository.deleteById(1); } }
The above is the detailed content of How to configure MongoDB database in SpringBoot2. For more information, please follow other related articles on the PHP Chinese website!