From dec1b80c445ee7621443e210f8ea23a088c5c0ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E7=8C=BFDD?= Date: Thu, 28 Apr 2016 11:54:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8NoSQL=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=EF=BC=88=E4=BA=8C=EF=BC=89=EF=BC=9AMongoDB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Chapter3-2-6/pom.xml | 55 +++++++++++++++++++ .../main/java/com/didispace/Application.java | 13 +++++ .../main/java/com/didispace/domain/User.java | 48 ++++++++++++++++ .../com/didispace/domain/UserRepository.java | 15 +++++ .../src/main/resources/application.properties | 3 + .../java/com/didispace/ApplicationTests.java | 47 ++++++++++++++++ 6 files changed, 181 insertions(+) create mode 100755 Chapter3-2-6/pom.xml create mode 100755 Chapter3-2-6/src/main/java/com/didispace/Application.java create mode 100644 Chapter3-2-6/src/main/java/com/didispace/domain/User.java create mode 100644 Chapter3-2-6/src/main/java/com/didispace/domain/UserRepository.java create mode 100644 Chapter3-2-6/src/main/resources/application.properties create mode 100755 Chapter3-2-6/src/test/java/com/didispace/ApplicationTests.java diff --git a/Chapter3-2-6/pom.xml b/Chapter3-2-6/pom.xml new file mode 100755 index 0000000..a060bc0 --- /dev/null +++ b/Chapter3-2-6/pom.xml @@ -0,0 +1,55 @@ + + + 4.0.0 + + com.didispace + demo + 1.0.0 + jar + + demo + Spring Boot project + + + org.springframework.boot + spring-boot-starter-parent + 1.3.2.RELEASE + + + + + UTF-8 + 1.8 + + + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springframework.boot + spring-boot-starter-data-mongodb + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + diff --git a/Chapter3-2-6/src/main/java/com/didispace/Application.java b/Chapter3-2-6/src/main/java/com/didispace/Application.java new file mode 100755 index 0000000..2a14b75 --- /dev/null +++ b/Chapter3-2-6/src/main/java/com/didispace/Application.java @@ -0,0 +1,13 @@ +package com.didispace; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + +} diff --git a/Chapter3-2-6/src/main/java/com/didispace/domain/User.java b/Chapter3-2-6/src/main/java/com/didispace/domain/User.java new file mode 100644 index 0000000..bfff180 --- /dev/null +++ b/Chapter3-2-6/src/main/java/com/didispace/domain/User.java @@ -0,0 +1,48 @@ +package com.didispace.domain; + +import org.springframework.data.annotation.Id; + +/** + * @author 程序猿DD + * @version 1.0.0 + * @date 16/4/27 下午10:04. + * @blog http://blog.didispace.com + */ +public class User { + + @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; + } + + 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 Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } +} diff --git a/Chapter3-2-6/src/main/java/com/didispace/domain/UserRepository.java b/Chapter3-2-6/src/main/java/com/didispace/domain/UserRepository.java new file mode 100644 index 0000000..073231e --- /dev/null +++ b/Chapter3-2-6/src/main/java/com/didispace/domain/UserRepository.java @@ -0,0 +1,15 @@ +package com.didispace.domain; + +import org.springframework.data.mongodb.repository.MongoRepository; + +/** + * @author 程序猿DD + * @version 1.0.0 + * @date 16/4/27 下午10:16. + * @blog http://blog.didispace.com + */ +public interface UserRepository extends MongoRepository { + + User findByUsername(String username); + +} diff --git a/Chapter3-2-6/src/main/resources/application.properties b/Chapter3-2-6/src/main/resources/application.properties new file mode 100644 index 0000000..65cdd33 --- /dev/null +++ b/Chapter3-2-6/src/main/resources/application.properties @@ -0,0 +1,3 @@ +spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/test + + diff --git a/Chapter3-2-6/src/test/java/com/didispace/ApplicationTests.java b/Chapter3-2-6/src/test/java/com/didispace/ApplicationTests.java new file mode 100755 index 0000000..d59751c --- /dev/null +++ b/Chapter3-2-6/src/test/java/com/didispace/ApplicationTests.java @@ -0,0 +1,47 @@ +package com.didispace; + +import com.didispace.domain.User; +import com.didispace.domain.UserRepository; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + + +@RunWith(SpringJUnit4ClassRunner.class) +@SpringApplicationConfiguration(Application.class) +public class ApplicationTests { + + @Autowired + private UserRepository userRepository; + + @Before + public void setUp() { + userRepository.deleteAll(); + } + + @Test + public void test() throws Exception { + + // 创建三个User,并验证User总数 + userRepository.save(new User(1L, "didi", 30)); + userRepository.save(new User(2L, "mama", 40)); + userRepository.save(new User(3L, "kaka", 50)); + Assert.assertEquals(3, userRepository.findAll().size()); + + // 删除一个User,再验证User总数 + User u = userRepository.findOne(1L); + userRepository.delete(u); + Assert.assertEquals(2, userRepository.findAll().size()); + + // 删除一个User,再验证User总数 + u = userRepository.findByUsername("mama"); + userRepository.delete(u); + Assert.assertEquals(1, userRepository.findAll().size()); + + } + +}