springboot集成MongoDB

mac2022-06-30  21

1.先安装MongoDB(百度一下就有了0.0)。

2.创建springboot项目

3.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> <groupId>com.cxb</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>

4.application.properties

##端口号 server.port=8888 ##mongo配置 spring.data.mongodb.host=127.0.0.1 spring.data.mongodb.port=27017 spring.data.mongodb.database=springboot

5.UserInfo

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; } }

6.UserRepository

import com.cxb.entity.UserInfo; import org.springframework.data.mongodb.repository.MongoRepository; public interface UserRepository extends MongoRepository<UserInfo,Long> { }

6.1 DAO

package com.dalaoyang.dao; import com.dalaoyang.entity.UserInfo; 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; import java.util.List; //必须要加Componet使得该组件可以被spring管理起来 @Component public class MongoDAO { @Autowired private MongoTemplate mongoTemplate; public void insert(UserInfo user) { mongoTemplate.insert(user); System.out.println("添加成功"); } public void update(UserInfo user) { Criteria criteria = Criteria.where("id").in(user.getId()); Query query = new Query(criteria); Update update = new Update(); update.set("username", user.getUsername()); update.set("password", user.getPassword()); mongoTemplate.updateMulti(query, update, UserInfo.class); System.out.println("更新成功!!!"); } public List<UserInfo> select (Integer id) { Criteria criteria = Criteria.where("id").in(id); Query query = new Query(criteria); return mongoTemplate.find(query,UserInfo.class); } public void delById (Integer id) { Criteria criteria = Criteria.where("id").in(id); Query query = new Query(criteria); mongoTemplate.remove(query, UserInfo.class); System.out.println("删除成功!!!"); } public List<UserInfo> findAll () { return mongoTemplate.findAll(UserInfo.class); } }

 

7.controller

import com.cxb.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; @Autowired private MongoDAO mongoDAO; //http://localhost:8888/save @GetMapping("save") public String save(){ UserInfo userInfo = new UserInfo(System.currentTimeMillis(),"用户"+System.currentTimeMillis(),"123"); userRepository.save(userInfo); return "success"; } //http://localhost:8888/getUserList @GetMapping("getUserList") public List<UserInfo> getUserList(){ List<UserInfo> userInfoList = userRepository.findAll(); // 这里两种方式都可以查询出结果 List<UserInfo> all = mongoDAO.findAll(); return all; } //http://localhost:8888/delete?id=1525503798382 @GetMapping("delete") public String delete(Long id){ userRepository.delete(id); return "success"; } //http://localhost:8888/update?id=1525503912550&username=111&password=222 @GetMapping("update") public String update(Long id,String username,String password){ UserInfo userInfo = new UserInfo(id,username,password); userRepository.save(userInfo); return "success"; } }

8.启动类

import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringbootMongodbApplication { public static void main(String[] args) { SpringApplication.run(SpringbootMongodbApplication.class, args); } }

9.测试

http://localhost:8888/save 先保存数据

数据保存成功。

http://localhost:8888/getUserList 查询数据。

springboot MongoDB ok!!!

最新回复(0)