SpringBoot 、MongoDB和Gradle结合链接简单Demo
MongoDB在Springboot和Gradle结合的简单Demo
MongoDB 配置
需要对gradle依赖、springboot的Yml配置文件和启动类进行修改
1.Gradle依赖
在dependencies中添加spring-boot-starter-data-mongodb和org.mongodb:mongodb-driver依赖
//mongodb
compile('org.springframework.boot:spring-boot-starter-data-mongodb')
compile ('org.mongodb:mongodb-driver:3.3.0')
2.springboot的yml配置文件
在springboot的application.yml中添加链接配置
2.1 密码配置
spring:
# mongodb配置
data:
mongodb:
username: username
password: password
host: 127.0.0.1
port: 27017
database: test
2.2无密码配置(未尝试)
spring:
data:
mongodb:
uri: mongodb://127.0.0.1:20000/test
如需要多个MongoDB链接可用逗号隔开
mongodb://127.0.0.1:20000,127.0.0.1:20001,127.0.0.1:20002/test
两种方式有应该可以,但2.1使用有密码时,如果未设置密码可以试试2.2。
但切勿两种联合使用。
spring:
data:
mongodb:
uri: mongodb://127.0.0.1:20000/test
username: username
password: password
但切勿两种联合使用。 这种方式是错误的!!!!!!!!
3.对springboot启动类进行修改
3.1@SpringBootApplication
如果使用@SpringBootApplication,无须添加任何属性
3.2 其他
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
如果不添加可能会报错。
4.Demo
简单查询
@Test
public void testMongoTemlate() {
Query query = new Query();
//where 字段,is 要查询什么
Criteria abc_jpn = Criteria.where("companyId").is("aaaaaa");
//添加到query中
query.addCriteria(abc_jpn).fields();
//排序方式 根据那个字段进行排序
Sort sort = new Sort(Sort.Direction.DESC, "_id");
//skip跳过 limit几个(可以理解为翻页),with在加上排序
query.skip(0).limit(1).with(sort);
//进行查询
List<JSONObject> jsonObjects = mongoTemplate.find(query, JSONObject.class, "clock_aaaa");
System.out.println(jsonObjects);
}
切记find方法中如果用Json的话,一定用阿里的fastjson!!!!如果是Gson的话,会查询为空。