既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
a.pom
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
b.配置文件application.properties
spring.data.mongodb.database=test
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.username=MongoDB
spring.data.mongodb.password=
3.工具类
a.数据库连接工具
package mongoDB;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MongoHelper {
private static final Logger logger = LoggerFactory
.getLogger(MongoHelper.class);
@Value("${spring.data.mongodb.database}")
private String DBName;
@Value("${spring.data.mongodb.host}")
private String ServerAddress;
@Value("${spring.data.mongodb.port}")
private int PORT;
public MongoHelper() {
}
public MongoClient getMongoClient() {
MongoClient mongoClient = null;
try {
// 连接到 mongodb 服务
mongoClient = new MongoClient(ServerAddress, PORT);
logger.debug("Connect to mongodb successfully");
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
}
return mongoClient;
}
public MongoDatabase getMongoDataBase(MongoClient mongoClient) {
MongoDatabase mongoDataBase = null;
try {
if (mongoClient != null) {
// 连接到数据库
mongoDataBase = mongoClient.getDatabase(DBName);
logger.debug("Connect to DataBase successfully");
} else {
throw new RuntimeException("MongoClient不能够为空");
}
} catch (Exception e) {
e.printStackTrace();
}
return mongoDataBase;
}
public MongoDatabase getMongoDataBase() {
MongoDatabase mongoDataBase = null;
try {
// 连接到数据库
mongoDataBase = getMongoDataBase(getMongoClient());
} catch (Exception e) {
e.printStackTrace();
}
return mongoDataBase;
}
public void closeMongoClient(MongoDatabase mongoDataBase,
MongoClient mongoClient) {
if (mongoDataBase != null) {
mongoDataBase = null;
}
if (mongoClient != null) {
mongoClient.close();
}
logger.debug("CloseMongoClient successfully");
}
}
b.MongoDb接口
package mongoDB.util;
import java.util.List;
/**
* MongoDb工具类
*/
public interface IMongoDb{
/**
* 查询条件
* @param field 字段名
* @param value 值
* @return
*/
IMongoDb whereAnd(String field,String value);
/**
* 模糊查询
* //完全匹配
* Pattern pattern = Pattern.compile("^name$", Pattern.CASE_INSENSITIVE);
* //右匹配
* Pattern pattern = Pattern.compile("^.*name$", Pattern.CASE_INSENSITIVE);
* //左匹配
* Pattern pattern = Pattern.compile("^name.*$", Pattern.CASE_INSENSITIVE);
* //模糊匹配
* Pattern pattern = Pattern.compile("^.*name8.*$", Pattern.CASE_INSENSITIVE);
* @param field 字段
* @param value 值
* @return
*/
IMongoDb like(String field,String value);
/**
* 执行表名
* @param tableName 表的名字
*/
List<String> execute(String tableName);
}
c.MongoDB工具类
package mongoDB.util;
import com.mongodb.BasicDBObject;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.smt.interfaces.mongoDB.MongoHelper;
import org.bson.Document;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
![img](https://img-blog.csdnimg.cn/img_convert/0d6750cdf15a42e13f5a699ff90983a6.png)
![img](https://img-blog.csdnimg.cn/img_convert/3a55ba159c5e19a40aaf66c86cd40be2.png)
![img](https://img-blog.csdnimg.cn/img_convert/0e57eed889cd39fbd4ecf33bf813e8be.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**