MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
这一片文章介绍一个springboot整合mongodb,如果你了解整合mysql之类的数据库,可以一带而过。
还是同样的套路,pom文件中加入mongodb依赖,完整pom文件如下:
4.0.0 com.dalaoyang springboot_mongodb0.0.1-SNAPSHOT jar springboot_mongodb springboot_mongodb org.springframework.boot spring-boot-starter-parent1.5.9.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter-data-mongodborg.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-devtoolsruntime org.springframework.boot spring-boot-starter-testtest org.springframework.boot spring-boot-maven-plugin
配置文件中,配置对应mongodb的数据库信息,这里只配置了数据库地址,端口号,数据库名称,配置如下:
##端口号 server.port=8888 ##mongo配置 spring.data.mongodb.host=127.0.0.1 spring.data.mongodb.port=27017 spring.data.mongodb.database=test
也是一样的创建一个实体类,如下:
package com.dalaoyang.entity;
import org.springframework.data.annotation.Id;
public class UserInfo {
@Id
private Long id;
private String username;
private String password;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public UserInfo(Long id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
}创建一个数据操作层,继承MongoRepository,代码如下:
package com.dalaoyang.repository; import com.dalaoyang.entity.UserInfo; import org.springframework.data.mongodb.repository.MongoRepository; public interface UserRepository extends MongoRepository{ }
和往常一样,创建一个controller进行增删改查测试,代码如下:
package com.dalaoyang.controller;
import com.dalaoyang.entity.UserInfo;
import com.dalaoyang.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping("save")
public String save(){
UserInfo userInfo = new UserInfo(System.currentTimeMillis(),"用户"+System.currentTimeMillis(),"123");
userRepository.save(userInfo);
return "success";
}
@GetMapping("getUserList")
public List getUserList(){
List userInfoList = userRepository.findAll();
return userInfoList;
}
@GetMapping("delete")
public String delete(Long id){
userRepository.delete(id);
return "success";
}
@GetMapping("update")
public String update(Long id,String username,String password){
UserInfo userInfo = new UserInfo(id,username,password);
userRepository.save(userInfo);
return "success";
}
} 到这里就结束了,可以启动项目访问http://localhost:8888/save创建几条数据。
然后访问http://localhost:8888/getUserList可以查看刚才创建的数据,如下图:
修改和删除这里就不做测试了,在方法上有对应的测试访问地址。
这里做一个简单的总结,通过整合几种数据库,包含关系型数据mysql,文件式数据库mongodb,甚至说elasticsearch等等其实步骤都大致如下:
1.加入对应依赖
2.配置文件配置对应数据库信息
3.数据操作层继承想要的repository
源码下载 :大老杨码云



