admin 发表于 2015-3-10 20:24

Spring4 整合MongoDB详细讲解项目源码

Spring4 整合MongoDB详细讲解项目源码
Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。

NoSQL数据库与传统的关系型数据库相比,它具有操作简单、完全免费、源码公开、随时下载等特点,并可以用于各种商业目的。这使NoSQL产品广泛应用于各种大型门户网站和专业网站,大大降低了运营成本。

Mongo DB 数据库自行搭建、也可以暂用地址见mongo-config.xml配置 可以进行增删查改。

环境配置: myeclipse 8.6、mongodb 3.0、spring 4.0.6


项目采用springmvc 结构。
所需JAR包:



applicationContext.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc   
      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
      http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      http://www.springframework.org/schema/context
      http://www.springframework.org/schema/context/spring-context-3.0.xsd">
   <context:component-scan base-package="com.mongodb.service" />
   <import resource="mongo-config.xml"/>
</beans>mongo-config.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xmlns:p="http://www.springframework.org/schema/p"   
    xmlns:mongo="http://www.springframework.org/schema/data/mongo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans   
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/data/mongo
            http://www.springframework.org/schema/data/mongo/spring-mongo.xsd
            http://www.springframework.org/schema/data/repository
            http://www.springframework.org/schema/data/repository/spring-repository-1.5.xsd">      
   
    <mongo:mongo host="121.42.26.72" port="12345"/>
      
    <!-- Offers convenience methods and automatic mapping between MongoDB JSON documents and your domain classes. -->
    <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
            <constructor-arg ref="mongo"/>
            <constructor-arg name="databaseName" value="itstyle"/>
    </bean>
      
</beans>
spring-servlet.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mongo="http://www.springframework.org/schema/data/mongo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans   
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.0.xsd
            http://www.springframework.org/schema/data/mongo
            http://www.springframework.org/schema/data/mongo/spring-mongo.xsd
            http://www.springframework.org/schema/mvc      
            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
      
    <!-- Scans the classpath for annotated components that will be auto-registered as Spring beans.For example @Controller and @Service . Make sure to set the correct base-package-->
    <context:component-scan base-package="com.mongodb.controller" />   
      
    <!-- Configures the annotation-driven Spring MVC Controller programming model.Note that, with Spring 3.0, this tag works in Servlet MVC only!-->
    <mvc:annotation-driven />   
   
    <!-- Declare a view resolver -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"   
            p:prefix="/users/" p:suffix=".jsp" />
            
   
</beans>UserServiceImpl 基本实现代码:package com.mongodb.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoOperations;
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.Service;
import com.mongodb.domain.Users;
@Service(value = "userService")   
public class UserServiceImpl implements UserService{
    private static String USER_COLLECTION = "users";
    @Autowired
    MongoOperations mongoTemplate;
       public void saveUser(Users users){            
      mongoTemplate.save(users, USER_COLLECTION);            
    }      
    public Users findUserByName(String name){
      return mongoTemplate.findOne(new Query(Criteria.where("name").is(name)), Users.class, USER_COLLECTION);
    }
      public void removeUser(String name) {
                mongoTemplate.remove(new Query(Criteria.where("name").is(name)),Users.class,USER_COLLECTION);
      }
      public void updateUser(String name,String key,String value) {
                mongoTemplate.updateFirst(new Query(Criteria.where("name").is(name)), Update.update(key, value), Users.class);
               
      }
      public List<Users> listUser() {
                return mongoTemplate.findAll(Users.class);
      }
}


演示地址:http://121.42.26.72:8080/SpringMongod

项目下载地址:Spring4 整合MongoDB详细讲解项目源码

解压码:www.52itstyle.com

admin 发表于 2015-3-10 20:46

解压码:本站网址               

我很无奈 发表于 2015-3-10 21:09

{:2_27:}{:2_27:}{:2_27:}{:2_27:}{:2_27:}

程序猿 发表于 2015-5-4 00:46

谢谢分享
页: [1]
查看完整版本: Spring4 整合MongoDB详细讲解项目源码