连接数据库,在application.properties中编写代码实现数据库连接
创建Student类,编写插入到数据库里的信息,id、name等,并创建set、get、tostring方法
创建接口
创建StudentImp类实现StudentDao接口里的方法
import com.mongodb.client.result.UpdateResult;
import org.springframework.beans.factory.annotation.Autowired;
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.Component;
@Component //标记StudentImp为一个bean,后面可以用@Autowired直接创建对象
public class StudentImp implements StudentDao {
@Autowired
private MongoTemplate mongoTemplate;
@Override
public void saveStudent(Student student) {
mongoTemplate.save(student);
}
@Override
public void removeStudent(int id) {
Query query = new Query(Criteria.where("id").is(id));//查找其id字段的值与传入参数id相等的数据
mongoTemplate.remove(query, Student.class);
}
@Override
public Student findStudentByName(String name) {
Query query = new Query(Criteria.where("name").is(name));
Student student = mongoTemplate.findOne(query, Student.class);
return student;
}
@Override
public int updateStudent(Student student) {
Query query = new Query(Criteria.where("id").is(student.getId()));
Update update = new Update().set("name", student.getName()).set("stuno", student.getStuno());
//更新查询返回的结果集的第一条数据
UpdateResult result = mongoTemplate.updateFirst(query, update, Student.class);
//更新查询到的所有结果集
//UpdateResult all_result = mongoTemplate.updateMulti(query,update,User.class);
if (result != null)
return (int) result.getModifiedCount();
else
return 0;
}
}
编写测试类
SpringBootDemoApplication类不用修改我们直接运行就可以了
这是该项目的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 https://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.7.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>springBoot_demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springBoot_demo</name>
<description>springBoot_demo</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>