首先创建springboot 项目 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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.mr</groupId>
<artifactId>boot_mongdb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>boot_mongdb</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
application.yml 内容如下 :
spring:
data:
mongodb:
uri: mongodb://localhost:27017
database: wang #指定数据库名字
** 第一种:直接在controller 层导入mongoTemplate**
@Autowired
MongoTemplate mongoTemplate;
//新增数据
@RequestMapping("add")
public String queryStu(){
Stu ws = new Stu(null, "zxf", 20);
mongoTemplate.save(ws);
return"success";
}
//条件查新
@RequestMapping("queryAll")
public String QueryAll(){
Query query = new Query();
Criteria where = new Criteria();
where.and("stuAge").is(20);
query.addCriteria(where);
List<Stu> stus = mongoTemplate.find(query,Stu.class);
System.out.println(stus);
return "ss";
}
//多条件查询
@RequestMapping("queryDuo")
public String queryDuo(){
Query query = new Query();
Criteria where = new Criteria();
where.and("stuName").is("zxf");
Query query2 = new Query();
Criteria where2 = new Criteria(); //标准 Criteria
where.and("stuAge").is(20);
query.addCriteria(new Criteria().andOperator(where,where2));
List<Stu> stus = mongoTemplate.find(query,Stu.class);
System.out.println(stus);
return"success";
}
//分页查询
@RequestMapping("queryFen")
public String queryFen(){
int page=1; //当前页
int rows=2; //每页条数
Query query = new Query();
query.skip((page-1)*rows).limit(rows);
List<Stu> stus = mongoTemplate.find(query, Stu.class);
System.out.println(stus);
return "success";
}
//修改数据
@RequestMapping("updateStu")
public String updateStu(){
Query query = new Query();
Criteria where = new Criteria();
where.and("stuAge").is(20);
query.addCriteria(where);
Update update= new Update();
update.set("stuName","yhl");
mongoTemplate.updateMulti(query,update,Stu.class); //修改所有复合条件的数据
// mongoTemplate.updateFirst(query,update,Stu.class); //修改第一条符合条件的数据
return"error";
}
//删除数据
@RequestMapping("deleteStu")
public String deleteStu(){
Query query = new Query();
Criteria where = new Criteria();
where.and("stuAge").is(20);
query.addCriteria(where);
mongoTemplate.remove(query,Stu.class);
return"hh";
}
第二种: 创建dao层接口继承 MongoRepository<实体类名,主键类型>
public interface StuDao extends MongoRepository<Stu,String> {
}
controller 层 注入dao层 代码如下:
@Autowired
private StuDao stuDao;
//保存代码如下 其他省略
@RequestMapping("isnertStu")
public String insertStu(){
Stu zxf = new Stu(null, "zxf", 14);
stuDao.save(zxf);
return"ss";
}