SpringBoot整合mongoDB
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
这一片文章介绍一个springboot整合mongodb,如果你了解整合mysql之类的数据库,可以一带而过。
还是同样的套路,pom文件中加入mongodb依赖,完整pom文件如下:
<?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> <groupId>com.dalaoyang</groupId> <artifactId>springboot_mongodb</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springboot_mongodb</name> <description>springboot_mongodb</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <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.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </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>
配置文件中,配置对应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; /** * @author dalaoyang * @Description * @project springboot_learn * @package com.dalaoyang.entity * @email yangyang@dalaoyang.cn * @date 2018/5/5 */ 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; /** * @author dalaoyang * @Description * @project springboot_learn * @package com.dalaoyang.repository * @email yangyang@dalaoyang.cn * @date 2018/5/5 */ public interface UserRepository extends MongoRepository<UserInfo,Long> { }
和往常一样,创建一个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; /** * @author dalaoyang * @Description * @project springboot_learn * @package com.dalaoyang.controller * @email yangyang@dalaoyang.cn * @date 2018/5/5 */ @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<UserInfo> getUserList(){ List<UserInfo> 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
源码下载 :大老杨码云
点击查看更多内容
4人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦