Demo 项目下载地址 :https://github.com/GithubMcx/SpringBoot_More
环境配置
IDEA /JDK1.8 /Maven3.3.9以上
4.0.0
cn.com.demo
spring-boot-mongo
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-parent
2.0.3.RELEASE
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-devtools
true
org.springframework.boot
spring-boot-starter-data-mongodb
org.projectlombok
lombok
1.18.0
org.springframework.boot
spring-boot-maven-plugin
true
在resources目录下新建一个名为【application.yml】的文件,将配置写入
# 这个是交由Spring管理的
spring:
data:
mongodb:
host: 172.30.23.213 #mongo服务IP
port: 27017 #mongo服务端口号
database: dbdemo #mongo数据库名
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
@SpringBootApplication
@ServletComponentScan
public class MongoApplication {
public static void main(String[] args) {
SpringApplication.run(MongoApplication .class, args);
}
}
import lombok.Data;
import org.springframework.data.annotation.Id;
import java.io.Serializable;
@Data
public class User implements Serializable {
private static final long serialVersionUID = -1L;
@Id
private Long id;
private String username;
private Integer age;
public User(Long id, String username, Integer age) {
this.id = id;
this.username = username;
this.age = age;
}
}
相当于Mysql的Dao层,此文主要是做整合讲解,具体详细用法请参考讲解
import cn.com.demo.springboot.mongo.model.User;
import org.springframework.data.mongodb.repository.MongoRepository;
import java.util.List;
public interface UserRepository extends MongoRepository {
/**
* Like(模糊查询)
* {"username" : name} ( name as regex)
* */
List findByUsernameLike(String username);
/**
* Like(模糊查询)
* {"username" : name}
* */
List findByUsername(String username);
}
直接调用repository层进行Mongo数据操作,正常的业务需求是用service去调用(不多赘述,不懂得找我)
import cn.com.demo.springboot.mongo.MongoApplication;
import cn.com.demo.springboot.mongo.model.User;
import cn.com.demo.springboot.mongo.repository.UserRepository;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MongoApplication.class)
public class MongoTest {
@Autowired
private UserRepository userRepository;
@Test
public void test(){
// 创建10个User,并验证User总数
userRepository.save(new User(1L, "aaaaa", 10));
userRepository.save(new User(2L, "bbbaa", 20));
userRepository.save(new User(3L, "cccaa", 30));
userRepository.save(new User(4L, "dddaa", 40));
userRepository.save(new User(5L, "eeeaa", 50));
userRepository.save(new User(6L, "fffee", 60));
userRepository.save(new User(7L, "gggee", 70));
userRepository.save(new User(8L, "hhhee", 80));
userRepository.save(new User(9L, "iiiee", 90));
log.info(String.valueOf(userRepository.findAll().size()));
}
@Test
public void test2(){
List u1 = userRepository.findByUsernameLike("aaa");
log.info(u1.toString());
List u2 = userRepository.findByUsername("bbbaa");
log.info(u2.toString());
}
}