spring boot 使用 mongodb
由于机器上没有数据库,装个Mysql或者sql server比较麻烦,所以还是用mongodb来练手了(因为这边不需要自己去导入驱动)
开始之前先确保环境没问题
1. Maven 仓库正确的配置
可以在cmd中用 mvn -version 查看 maven的是否加入环境变量,没有安装可以自行google
2. lombok 插件
lombok 可以来帮我们消除冗余的java代码特别是 POJO层
之后我们就可以开始创建一个简单的CRUD,上一篇我们使用官方提供的demo简单的跑了hello world,
现在简单的修改下目录:
软件设计中我们常常使用分层,我这边比较简单(可能不太符合java中的规范,后期会完)
controller层也就是restful接口,
domain层 数据库查询
entity层: 数据库模型
3. 建立一个模型
1 @Document(collection = "t_student") 2 @AllArgsConstructor 3 @Data 4 @Builder 5 @ToString 6 public class Student { 7 @Id 8 private int studentid; 9 10 @Field("studentname") 11 private String studentname; 12 13 @Field("studentage") 14 private int age; 15 16 }
这里感觉会很爽,只需要定义字段,不需要写构造函数,不需要写get set,只需要使用lombok 在pom中添加maven引用
1 <dependency> 2 <groupId>org.projectlombok</groupId> 3 <artifactId>lombok</artifactId> 4 <version>1.16.18</version> 5 </dependency>
并为每个实体添加注解就ok了
4. MongoDB 为我们提供了数据查询接口
默认的查询我们只需要集成接口就可以了,当然也可以自定义,我们这边就是用默认接口了:
1 @Repository 2 public interface StudentRepository extends MongoRepository<Student, ObjectId> 3 { 4 5 }
5.最后在controller层中添加一个名为 addStudent的action
@RequestMapping("/addStudent")
public Student addStudent() {
return studentRepository.save(new Student(1, "妹子1", 18));
}
就可以插入数据了,mongodb在数据插入的时候回检查这个db和Collection是否存在,如果不存在则自己会新建。