hjr-SQL:maven+springmvc+mongodb

本文介绍MongoDB在Windows系统的安装步骤及可视化工具使用,并详细阐述如何在Maven项目中配置Spring Data MongoDB,包括pom.xml依赖配置、applicationContext.xml配置文件设置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mongodb安装

官网下载mongodb 对应版本,我的是windows 64位,安装好之后,在安装盘根目录新建data/db文件安夹,以后数据就存储到这里,每次重启电脑都要通过双击bin->mongod.exe开启服务。
#mongodb可视化软件

  1. 下载robomongo软件,安装后,先开启mongodb数据库服务,新建连接选择localhost端口用默认的并命名后连接
  2. 右击连接新建数据库并命名,数据库里的Collections右击新建collection相当于新建表,可以增删改查之类的。
    #maven项目连接mogondb
    先Eclipse新建maven项目,在pox.xml配置号springmvc和mogondb的jar包
<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>xh</groupId>
  <artifactId>xh</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>xh Maven Webapp</name>
  <url>http://maven.apache.org</url>
 	<properties>  
        <spring.version>3.2.3.RELEASE</spring.version>  
        <slf4j.version>1.7.2</slf4j.version>  
        <log4j.version>1.2.16</log4j.version>  
        <junit.version>4.11</junit.version>  
        <jsonlib.version>2.4</jsonlib.version>  
        <shiro.version>1.2.2</shiro.version>  
    </properties>  
  
    <dependencies>  
  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-webmvc</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework.data</groupId>  
            <artifactId>spring-data-mongodb</artifactId>  
            <version>1.2.0.RELEASE</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-tx</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-test</artifactId>  
            <version>${spring.version}</version>  
            <scope>test</scope>  
            <exclusions>  
                <exclusion>  
                    <groupId>commons-logging</groupId>  
                    <artifactId>commons-logging</artifactId>  
                </exclusion>  
            </exclusions>  
        </dependency>  
        <!-- Json -->  
        <dependency>  
            <groupId>org.codehaus.jackson</groupId>  
            <artifactId>jackson-core-lgpl</artifactId>  
            <version>1.8.1</version>  
        </dependency>  
        <dependency>  
            <groupId>org.codehaus.jackson</groupId>  
            <artifactId>jackson-mapper-lgpl</artifactId>  
            <version>1.8.1</version>  
        </dependency>  
        <dependency>  
            <groupId>net.sf.json-lib</groupId>  
            <artifactId>json-lib</artifactId>  
            <version>${jsonlib.version}</version>  
            <classifier>jdk15</classifier>  
        </dependency>  
        <!-- end of Json -->  
  
        <!-- logging -->  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>slf4j-api</artifactId>  
            <version>${slf4j.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>jcl-over-slf4j</artifactId>  
            <version>${slf4j.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.slf4j</groupId>  
            <artifactId>slf4j-log4j12</artifactId>  
            <version>${slf4j.version}</version>  
        </dependency>   
        <dependency>  
            <groupId>log4j</groupId>  
            <artifactId>log4j</artifactId>  
            <version>${log4j.version}</version>  
            <scope>provided</scope>  
        </dependency>  
        <!-- end of logging -->  
        <!-- fileUpload -->  
        <dependency>  
            <groupId>commons-fileupload</groupId>  
            <artifactId>commons-fileupload</artifactId>  
            <version>1.2.2</version>  
        </dependency>  
          
        <!-- end of fileUpload -->  
        <!--io -->  
        <dependency>  
            <groupId>commons-io</groupId>  
            <artifactId>commons-io</artifactId>  
            <version>2.4</version>  
        </dependency>  
          
        <dependency>  
            <groupId>javax</groupId>  
            <artifactId>javaee-web-api</artifactId>  
            <version>7.0</version>  
            <scope>provided</scope>  
        </dependency>  
        <dependency>  
            <groupId>junit</groupId>  
            <artifactId>junit</artifactId>  
            <version>${junit.version}</version>  
            <scope>test</scope>  
        </dependency>  
  
        <dependency>  
            <groupId>javax.servlet</groupId>  
            <artifactId>jstl</artifactId>  
            <version>1.2</version>  
        </dependency>  
  
  
  
    </dependencies>  
  
    <build>  
        <finalName>springmvc_mongodb</finalName>  
        <plugins>  
            <plugin>  
                <groupId>org.apache.tomcat.maven</groupId>  
                <artifactId>tomcat7-maven-plugin</artifactId>  
                <version>2.0-beta-1</version>  
                <configuration>  
                    <uriEncoding>utf-8</uriEncoding>  
                    <port>8070</port>  
                    <path>/</path>  
                </configuration>  
            </plugin>  
        </plugins>  
    </build>  
</project>  

现在src->main中有三个文件夹,java放java代码,resources放各种配置文件,webapp放前端界面
在resources中新建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: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-1.0.xsd">  
      
    <mongo:mongo id="mongo"  host="127.0.0.1" port="27017"   />  
       <!--         此处的id与下面的<constructor-arg ref="mongo" />对应 -->
    <bean id="userCredentials" class="org.springframework.data.authentication.UserCredentials">  
        <constructor-arg name="username"  value=""/>  
        <constructor-arg name="password"  value=""/>  
        <!--         此处为用户名和密码,默认为空 -->
    </bean>  
      
    <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">  
        <constructor-arg ref="mongo" />  
        <constructor-arg value="dbname" />  
         <!--  上面这条是数据库名字-->
        <constructor-arg ref="userCredentials" />  
    </bean>  
      
    <bean id="userDao" class="com.xh.dao.impl.UserDao" />  
</beans>  

上面需要注意的有,所有Dao都在这里注册一下。

<bean id="userDao" class="com.xh.dao.impl.UserDao" />  

先说下java的项目结构,controller,model,dao

model里放数据模型如User,dao里放模型增删改查接口如IUserDao

其中dao下有impl包,里面是对模型增删改查的实现,一个模型对应一个如UserDao

controller中放控制器,即给前台访问的接口

所有Dao实现除了实现接口外还需要继承一个抽象类

AbstractBaseMongoTemplete

public abstract class AbstractBaseMongoTemplete implements ApplicationContextAware {  
    
    protected MongoTemplate mongoTemplate;  
  
    /** 
     * 设置mongoTemplate 
     * @param mongoTemplate the mongoTemplate to set 
     */  
    public void setMongoTemplate(MongoTemplate mongoTemplate) {  
        this.mongoTemplate = mongoTemplate;  
    }  
      
    public void setApplicationContext(ApplicationContext applicationContext)  
            throws BeansException {  
        MongoTemplate mongoTemplate = applicationContext.getBean("mongoTemplate", MongoTemplate.class);  
        setMongoTemplate(mongoTemplate);  
    }  
}  

Dao写法

public class UserDao extends AbstractBaseMongoTemplete implements IUserDao {  
	  
    /** 
     * 新增 
     * <br>------------------------------<br> 
     * @param user 
     */  
    public void insert(User user) {  
        mongoTemplate.insert(user);  
    }      
}  

Dao接口写法

public interface IUserDao {  
    
    /** 
     * 新增 
     * <br>------------------------------<br> 
     * @param user 
     */  
    void insert(User user);  
}
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师小侯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值