Browse Source

add mongodb

ityouknow 8 years ago
parent
commit
0e44f5b103

+ 60 - 0
spring-boot-mongodb/pom.xml

@@ -0,0 +1,60 @@
+<?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.neo</groupId>
+	<artifactId>spring-boot-mongodb</artifactId>
+	<version>1.0.0</version>
+	<packaging>jar</packaging>
+
+	<name>spring-boot-mongodb</name>
+	<description>Demo project for Spring Boot and mongodb</description>
+
+	<parent>
+		<groupId>org.springframework.boot</groupId>
+		<artifactId>spring-boot-starter-parent</artifactId>
+		<version>1.5.3.RELEASE</version>
+		<relativePath/> <!-- lookup parent from repository -->
+	</parent>
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<java.version>1.8</java.version>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-test</artifactId>
+			<scope>test</scope>
+		</dependency>
+	     <dependency>
+	        <groupId>org.springframework.boot</groupId>
+	        <artifactId>spring-boot-devtools</artifactId>
+	        <optional>true</optional>
+		</dependency>
+		<dependency>
+		   <groupId>org.springframework.boot</groupId>
+		   <artifactId>spring-boot-starter-data-mongodb</artifactId>
+		</dependency>
+    </dependencies>
+	
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.springframework.boot</groupId>
+				<artifactId>spring-boot-maven-plugin</artifactId>
+				<configuration>
+	                <fork>true</fork>
+	            </configuration>
+			</plugin>
+		</plugins>
+	</build>
+	
+
+</project>

+ 13 - 0
spring-boot-mongodb/src/main/java/com/neo/Application.java

@@ -0,0 +1,13 @@
+package com.neo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@SpringBootApplication
+public class Application {
+
+	public static void main(String[] args) {
+		SpringApplication.run(Application.class, args);
+	}
+}

+ 18 - 0
spring-boot-mongodb/src/main/java/com/neo/dao/UserDao.java

@@ -0,0 +1,18 @@
+package com.neo.dao;
+
+import com.neo.entity.UserEntity;
+
+/**
+ * Created by summer on 2017/5/5.
+ */
+public interface UserDao  {
+
+    public void saveUser(UserEntity user);
+
+    public UserEntity findUserByUserName(String userName);
+
+    public int updateUser(UserEntity user);
+
+    public void deleteUserById(Long id);
+
+}

+ 71 - 0
spring-boot-mongodb/src/main/java/com/neo/dao/impl/UserDaoImpl.java

@@ -0,0 +1,71 @@
+package com.neo.dao.impl;
+
+import com.mongodb.WriteResult;
+import com.neo.dao.UserDao;
+import com.neo.entity.UserEntity;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.security.SecurityProperties;
+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;
+
+/**
+ * Created by summer on 2017/5/5.
+ */
+@Component
+public class UserDaoImpl implements UserDao {
+
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    /**
+     * 创建对象
+     * @param user
+     */
+    @Override
+    public void saveUser(UserEntity user) {
+        mongoTemplate.save(user);
+    }
+
+    /**
+     * 根据用户名查询对象
+     * @param userName
+     * @return
+     */
+    @Override
+    public UserEntity findUserByUserName(String userName) {
+        Query query=new Query(Criteria.where("userName").is(userName));
+        UserEntity user =  mongoTemplate.findOne(query , UserEntity.class);
+        return user;
+    }
+
+    /**
+     * 更新对象
+     * @param user
+     */
+    @Override
+    public int updateUser(UserEntity user) {
+        Query query=new Query(Criteria.where("id").is(user.getId()));
+        Update update= new Update().set("userName", user.getUserName()).set("passWord", user.getPassWord());
+        //更新查询返回结果集的第一条
+        WriteResult result =mongoTemplate.updateFirst(query,update,UserEntity.class);
+        //更新查询返回结果集的所有
+        // mongoTemplate.updateMulti(query,update,UserEntity.class);
+        if(result!=null)
+            return result.getN();
+        else
+            return 0;
+    }
+
+    /**
+     * 删除对象
+     * @param id
+     */
+    @Override
+    public void deleteUserById(Long id) {
+        Query query=new Query(Criteria.where("id").is(id));
+        mongoTemplate.remove(query,UserEntity.class);
+    }
+}

+ 46 - 0
spring-boot-mongodb/src/main/java/com/neo/entity/UserEntity.java

@@ -0,0 +1,46 @@
+package com.neo.entity;
+
+import java.io.Serializable;
+
+/**
+ * Created by summer on 2017/5/5.
+ */
+public class UserEntity implements Serializable {
+        private static final long serialVersionUID = -3258839839160856613L;
+        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;
+        }
+
+        @Override
+        public String toString() {
+                return "UserEntity{" +
+                        "id=" + id +
+                        ", userName='" + userName + '\'' +
+                        ", passWord='" + passWord + '\'' +
+                        '}';
+        }
+}

+ 5 - 0
spring-boot-mongodb/src/main/resources/application.properties

@@ -0,0 +1,5 @@
+spring.application.name=spirng-boot-mongodb
+
+spring.data.mongodb.uri=mongodb://192.168.9.61:20000/test
+
+

+ 17 - 0
spring-boot-mongodb/src/test/java/com/neo/ApplicationTests.java

@@ -0,0 +1,17 @@
+package com.neo;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class ApplicationTests {
+
+	@Test
+	public void contextLoads() {
+		System.out.println("hello world");
+	}
+
+}

+ 49 - 0
spring-boot-mongodb/src/test/java/com/neo/dao/UserDaoTest.java

@@ -0,0 +1,49 @@
+package com.neo.dao;
+
+import com.neo.entity.UserEntity;
+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.SpringRunner;
+
+/**
+ * Created by summer on 2017/5/5.
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class UserDaoTest {
+
+    @Autowired
+    private UserDao userDao;
+
+    @Test
+    public void testSaveUser() throws Exception {
+        UserEntity user=new UserEntity();
+        user.setId(2l);
+        user.setUserName("小明");
+        user.setPassWord("fffooo123");
+        userDao.saveUser(user);
+    }
+
+    @Test
+    public void findUserByUserName(){
+       UserEntity user= userDao.findUserByUserName("小明");
+       System.out.println("user is "+user);
+    }
+
+    @Test
+    public void updateUser(){
+        UserEntity user=new UserEntity();
+        user.setId(2l);
+        user.setUserName("天空");
+        user.setPassWord("fffxxxx");
+        userDao.updateUser(user);
+    }
+
+    @Test
+    public void deleteUserById(){
+        userDao.deleteUserById(1l);
+    }
+
+}