本节将讲解MongoDB在Java中的使用,实践性比较强。因此,写个demo比较直观。直接上代码, https://gitee.com/santy123/mongodb-demo.git
1、先创建一个springboot项目。
2、引入需要jar,驱动包等
<!-- mongodb 的驱动 --><dependency><groupId>org.mongodb</groupId><artifactId>mongo-java-driver</artifactId><version>3.10.1</version></dependency><!-- 以下是spring管理的mongodb --><!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-mongodb --><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-mongodb</artifactId><version>2.1.1.RELEASE</version></dependency>

3、MongoClient 直接创建客户端连接
@Beforepublic void init() {client = new MongoClient("192.168.12.179", 27017);}/*** @Description: 获取或新增数据库, 如果是新增,则在创建后,通过show dbs是看不到的,需要添加collection才能看到* @author:* @Datetime: 2021/1/6 14:19*/@Testpublic void connectDB() {// 连接数据库,你需要指定数据库名称,如果指定的数据库不存在,mongo会自动创建数据库。MongoDatabase database = client.getDatabase("yzfile");System.out.println("connect successful----" + database.getName());}

4、创建与查询集合操作
@Testpublic void createCollection() {MongoDatabase database = client.getDatabase("yzfile");database.createCollection("mycollection");System.out.println("集合创建成功");}@Testpublic void getCollection() {MongoDatabase database = client.getDatabase("yzfile");MongoCollection<Document> collection = database.getCollection("mycollection");System.out.println("获取集合成功:" + collection.getNamespace());MongoIterable<String> collectionNames = database.listCollectionNames();for (String string : collectionNames) {System.out.println("collection name : " + string);}}
5、由springboot 来管理,首先创建配置文件
mongodb.properties
mongo.host=192.168.12.179mongo.port=27017mongo.connectionsPerHost=8mongo.threadsAllowedToBlockForConnectionMultiplier=4#连接超时时间mongo.connectTimeout=1000#等待时间mongo.maxWaitTime=1500mongo.autoConnectRetry=truemongo.socketKeepAlive=true#socket超时时间mongo.socketTimeout=1500mongo.slaveOK=truemongo.writeconcern=safe
spring-mongodb.xml
<!-- 加载mongodb的配置属性文件 --><context:property-placeholder location="classpath:mongodb.properties"/><!-- 扫描持久层 --><context:component-scan base-package="com.santy.mongodb.springdata"/><!-- 配置mongodb客户端连接服务器的相关信息 --><mongo:mongo-client host="${mongo.host}" port="${mongo.port}" id="mongo"><mongo:client-optionswrite-concern="${mongo.writeconcern}"connect-timeout="${mongo.connectTimeout}"socket-keep-alive="${mongo.socketKeepAlive}"/></mongo:mongo-client><!-- mongo:db-factory dbname="database" mongo-ref="mongo" --><mongo:db-factory id="mongoDbFactory" dbname="yzfile" mongo-ref="mongo"/><!-- 配置mongodb的模板类:MongoTemplate --><bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"><constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/></bean>
6、spring-data-mongdb 使用跟操作普通数据库类型,都需要创建相应的实体层、数据持久层、业务逻辑层等。因为类似,就不一一列举,直接看代码。
文章转载自我的技术人生,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




