<?xml version="1.0" encoding="UTF-8"?>
<!--Licensed to the Apache Software Foundation (ASF) under oneor more contributor license agreements.  See the NOTICE filedistributed with this work for additional informationregarding copyright ownership.  The ASF licenses this fileto you under the Apache License, Version 2.0 (the"License"); you may not use this file except in compliancewith the License.  You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing,software distributed under the License is distributed on an"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANYKIND, either express or implied.  See the License for thespecific language governing permissions and limitationsunder the License.
-->
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"><infoorganisation=""module="adagent"status="integration"></info><configurations><conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf" extends="runtime,master"/><conf name="master" visibility="public" description="contains only the artifact published by this module itself, with no transitive dependencies"/><conf name="compile" visibility="public" description="this is the default scope, used if none is specified. Compile dependencies are available in all classpaths."/><conf name="provided" visibility="public" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/><conf name="runtime" visibility="public" description="this scope indicates that the dependency is not required for compilation, but is for execution. It is in the runtime and test classpaths, but not the compile classpath." extends="compile"/><conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." extends="runtime"/><conf name="system" visibility="public" description="this scope is similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repository."/><conf name="sources" visibility="public" description="this configuration contains the source artifact of this module, if any."/><conf name="javadoc" visibility="public" description="this configuration contains the javadoc artifact of this module, if any."/><conf name="optional" visibility="public" description="contains all optional dependencies"/></configurations><dependencies><!--spring--><dependency org="org.springframework" name="spring-core" rev="4.0.4.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.springframework" name="spring-beans" rev="4.0.4.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.springframework" name="spring-web" rev="4.0.4.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.springframework" name="spring-context" rev="4.0.4.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.springframework" name="spring-context-support" rev="4.0.4.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.springframework" name="spring-aop" rev="4.0.4.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.springframework" name="spring-expression" rev="4.0.4.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.springframework" name="spring-tx" rev="4.0.4.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.springframework" name="spring-jms" rev="4.0.4.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.springframework" name="spring-jdbc" rev="4.0.4.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.springframework" name="spring-webmvc" rev="4.0.4.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.slf4j" name="slf4j-api" rev="1.7.7" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.7.7" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.slf4j" name="jul-to-slf4j" rev="1.7.7" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.slf4j" name="log4j-over-slf4j" rev="1.7.7" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="ch.qos.logback" name="logback-classic" rev="1.1.2" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="ch.qos.logback" name="logback-core" rev="1.1.2" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><!--json序列化--><dependency org="com.fasterxml.jackson.core" name="jackson-core" rev="2.3.1" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="com.fasterxml.jackson.core" name="jackson-annotations" rev="2.3.1" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.3.1" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><!--HTTP--><dependency org="org.aopalliance" name="com.springsource.org.aopalliance" rev="1.0.0" /><dependency org="org.springframework.data"   name="spring-data-commons" rev="1.10.0.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.apache.httpcomponents" name="httpclient" rev="4.3.3" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.apache.httpcomponents" name="httpcore" rev="4.3.3" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.apache.httpcomponents" name="httpmime" rev="4.3.3" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.apache.ws.xmlschema" name="xmlschema-core" rev="2.1.0" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><!--cxf--><dependency org="org.apache.cxf" name="cxf-bundle" rev="2.7.11" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.apache.neethi" name="neethi" rev="3.0.3" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.apache.velocity" name="velocity" rev="1.7" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.apache.ws.xmlschema" name="xmlschema-core" rev="2.1.0" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="javax.xml.bind" name="jaxb-api" rev="2.2.4" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="javax.xml.soap" name="saaj-api" rev="1.3.5" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="com.sun.xml.bind" name="jaxb-xjc" rev="2.2.7" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="com.sun.xml.bind" name="jaxb-core" rev="2.2.7" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="com.sun.xml.messaging.saaj" name="saaj-impl" rev="1.3.23" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.codehaus.woodstox" name="woodstox-core-asl" rev="4.3.0" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.codehaus.woodstox" name="stax2-api" rev="3.1.4" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.jvnet.staxex" name="stax-ex" rev="1.7.7" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.codehaus.jettison" name="jettison" rev="1.3.5" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="wsdl4j" name="wsdl4j" rev="1.6.3" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><!-- axis相关内容 --><dependency org="axis" name="axis" rev="1.4" conf="compile->compile(*),master(*);runtime->runtime(*)" /><dependency org="axis" name="axis-jaxrpc" rev="1.4" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false" /><dependency org="axis" name="axis-saaj" rev="1.4" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false" /><dependency org="axis" name="axis-wsdl4j" rev="1.5.1" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false" /><dependency org="commons-discovery" name="commons-discovery" rev="0.2" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false" /><dependency org="com.google.code.gson" name="gson" rev="2.3" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="dom4j" name="dom4j" rev="1.6.1" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><!--<dependency org="org.apache.axis" name="axis"  rev="1.4"  conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/> --><dependency org="jaxen" name="jaxen" rev="1.1-beta-9" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/> <dependency org="javax.validation" name="validation-api" rev="1.1.0.Final"  conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false" /><dependency org="javax.ws.rs" name="javax.ws.rs-api" rev="2.0-m10" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.springframework.data" name="spring-data-mongodb" rev="1.7.0.RELEASE" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.mongodb" name="mongo-java-driver" rev="3.0.0-rc1" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.apache.solr" name="solr-solrj" rev="5.1.0" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="org.apache.commons" name="commons-vfs2" rev="2.0" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="commons-discovery" name="commons-discovery" rev="0.5" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="commons-logging" name="commons-logging" rev="1.2" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/><dependency org="javax.xml.rpc" name="javax.xml.rpc-api" rev="1.1" conf="compile->compile(*),master(*);runtime->runtime(*)" transitive="false"/></dependencies>
</ivy-module>

ivy.xml

1、先引入以上的jar包:

2、使用MongoTemplate:

package com.d.service;import javax.servlet.http.HttpServletRequest;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;//@RestController
//@RequestMapping("/test")
public class TestService {private static final Logger logger = LoggerFactory.getLogger(TestService.class);@AutowiredMongoTemplate mongoTemplate; @RequestMapping(value = "/check", method = RequestMethod.GET)@ResponseBodypublic JsonResult<String> check(HttpServletRequest request) {try {logger.info("Address:{}", request.getLocalAddr());logger.info("Name:{}", request.getLocalName());} catch (Throwable e) {logger.error(e.getMessage());logger.debug(e.getMessage(), e);}return new JsonResult<String>("服务运行正常...").success();}@RequestMapping(value = "/add", method = RequestMethod.GET)@ResponseBodypublic JsonResult<String> add(HttpServletRequest request) {try {TestMo mo = new TestMo();mo.setId("1111");mo.setMessage("2222");mo.setName("3333");mongoTemplate.insert(mo);} catch (Throwable e) {logger.error(e.getMessage());logger.debug(e.getMessage(), e);return new JsonResult<String>(e.getMessage()).fail(0);}return new JsonResult<String>("服务运行正常...").success();}
}

3、使用Reosititory:

package com.repository;import org.springframework.data.mongodb.repository.MongoRepository;import com.model.MaterialInfo;public interface MaterialRepository extends MongoRepository<MaterialInfo, String>{}

Api:

package com.api;import javax.validation.Valid;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.QueryParam;import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.query.Query;import com.model.MaterialInfo;
import com.utils.QueryResult;public interface MaterialApi {@POST@Path("insert")MaterialInfo insert(@Valid MaterialInfo materialInfo);@DELETE@Path("delete")void delete(@QueryParam("id") String id);@POST@Path("update")void update(@QueryParam("id") String id);@POST@Path("save")MaterialInfo save(@Valid MaterialInfo materialInfo);@GET@Path("get")MaterialInfo getBroadCastList(String id);@POST@Path("query/with/paging")public QueryResult<MaterialInfo> queryWithPaging(Query query, Sort sort, //
            int start, int limit);
}

Impl:

package com.api.impl;import javax.ws.rs.Path;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component;import com.api.MaterialApi;
import com.model.MaterialInfo;
import com.repository.MaterialRepository;
import com.utils.QueryResult;@Path("/material")
@Component("materialImpl")
public class MaterialApiImpl implements MaterialApi {@Autowiredprivate MaterialRepository _materialRepository;@Autowired  @Qualifier("mongoTemplate")  MongoTemplate mongoTemplate;@Overridepublic MaterialInfo insert(MaterialInfo materialInfo) {// TODO Auto-generated method stubreturn _materialRepository.insert(materialInfo);}@Overridepublic void delete(String id) {// TODO Auto-generated method stub
        }@Overridepublic MaterialInfo save(MaterialInfo materialInfo) {// TODO Auto-generated method stubreturn null;}@Overridepublic MaterialInfo getBroadCastList(String id) {// TODO Auto-generated method stubreturn null;}@Overridepublic QueryResult<MaterialInfo> queryWithPaging(Query query, Sort sort, int start, int limit) {// TODO Auto-generated method stubreturn null;}@Overridepublic void update(String id) {// TODO Auto-generated method stub
        }}

Service:

package com.service;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import com.api.MaterialApi;
import com.model.MaterialInfo;@Component("materialService")
public class MaterialService {public static Logger logger = LoggerFactory.getLogger(MaterialService.class);@AutowiredMaterialApi _materialApi;public String save(MaterialInfo materialInfo){try {_materialApi.save(materialInfo);} catch (Throwable e) {return e.getMessage();}return "success";}
}

以上!

缺少关键的beans.xml文件 补上去:注意其中的<mongo:repositories />很重要;

<?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:util="http://www.springframework.org/schema/util"xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:jaxws="http://cxf.apache.org/jaxws"xmlns:jaxrs="http://cxf.apache.org/jaxrs" 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.1.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsdhttp://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.5.xsd  http://www.springframework.org/schema/data/repository http://www.springframework.org/schema/data/repository/spring-repository-1.5.xsd http://cxf.apache.org/jaxws  http://cxf.apache.org/schemas/jaxws.xsdhttp://cxf.apache.org/jaxrs  http://cxf.apache.org/schemas/jaxrs.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"><!-- 自动扫描 -->  <context:annotation-config /><mvc:annotation-driven /><context:component-scan base-package="com.d" /><import resource="classpath:com/d/beans.xml"/>    <mongo:repositories base-package="com.d.repository"></mongo:repositories><context:property-placeholder location="classpath:com/d/mongodb.properties" /><!--<mongo:mongo id="mongo"  host="${mongodb.host}" port="${mongodb.port}" />  --><mongo:mongo id="mongo" replica-set="${mongodb.replicaSet}" />  <mongo:db-factory id="mongoDbFactory" dbname="${mongodb.database}"  mongo-ref="mongo" />  <!-- mongo模板操作对象 -->  <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">  <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />  </bean>  </beans>

以上文件加载只能加载classpath下的文件,加载外部文件需修改配置如下:<context:property-placeholder location="file:${app.home}/config/mongodb.properties" />重点在添加file标识

mongodb.properties:
#mongodb
mongodb.database=adbase
mongodb.replicaSet=127.0.0.1:27017
#mongodb.host=127.0.0.1
#mongodb.port=27017

转载于:https://www.cnblogs.com/liangblog/p/7753756.html

SpringMVC连接MongoDB操作数据库相关推荐

  1. 【node】node连接mongodb操作数据库

    1.下载第三方模块mongodb cnpm install mongodb --save 2.检测是否连接成功 1.引入第三方模块mongodb并创建一个客户端const MongoClient = ...

  2. Spring+SpringMVC+Hibernate整合操作数据库 概述

    概述 Hibernate是一款优秀的ORM框架,能够连接并操作数据库,包括保存和修改数据.Spring MVC是Java的web框架,能够将Hibernate集成进去,完成数据的CRUD.Hibern ...

  3. vc mysql控件_VC++使用ActiveX控件连接和操作数据库

    VS2008运用ActiveX控件连接和操作数据库关闭时一直有个内存释放的错误,好像使用VC6.0会多生成2个文件,就不会有问题. VC++使用ActiveX控件连接和操作数据库的方法分两种: 1.通 ...

  4. 使用Spring JDBC框架连接并操作数据库

    在前一篇博文JAVA通过JDBC连接并操作MySQL数据库中,我们知道如何通过JDBC连接并操作数据库,但是请看程序,整个程序连接数据库和关闭数据库占了很大一部分代码量,而且每次我们执行一下数据库操作 ...

  5. 使用python简单连接并操作数据库

    python中连接并操作数据库 图示操作流程 一.使用的完整流程 # 1. 导入模块 from pymysql import connect# 2. 创建和数据库服务器的连接,自行设置 服务器地址,端 ...

  6. C++利用MySQL API连接和操作数据库

    1.C++连接和操作MySQL的方式 在Windows平台,我们可以使用ADO.ODBC或者MySQL API进行连接和操作.ADO (ActiveX Data Objects,ActiveX数据对象 ...

  7. Java 技术篇-java连接并操作数据库实例演示,执行查询、插入、更新和删除操作

    Java 操作数据库 第一章:Java 代码四个类实现 ① 项目结构展示 ② 数据库连接类 ③ 数据库查询类 ④ 数据库更新类 ⑤ 数据库主类 第二章:查询和更新操作实例演示 ① 查询操作演示 ② 更 ...

  8. mongodb数据库java接口,MongoDB —— 使用Spring Data MongoDB操作数据库

    我们使用Spring Data MongoDB可以方便的在Spring boot项目中操作MongoDB 文档地址:https://docs.spring.io/spring-boot/docs/2. ...

  9. sqlserver连接和操作数据库

    1.概述 ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤: 第一,使用SqlConnection对象连接数据库: 第二,建立SqlCommand对象,负责SQL语句的执行和存储过程的调 ...

最新文章

  1. websohere 替换单独文件_postman教程-16-如何读取外部文件实现数据参数化
  2. iOS 获取Assets中的启动页
  3. R语言ggplot2可视化:使用热力图可视化dataframe数据
  4. go 向buff写入一个字节_我在 Go 中犯的 5 个错误
  5. Thymeleaf介绍
  6. inner join 与 left join 、right join之间的区别
  7. C++中size_t和int区别
  8. vscode go开发staticcheck配置
  9. 11.7动手动脑作业
  10. Flink SQL 实战:双流 join 场景应用
  11. 在应用程序中使用Runspace 1
  12. 一元二次方程的c语言代码,一元二次方程求解程序完整代码
  13. Verbatim字符串
  14. 抛错java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
  15. win7家庭版计算机添加用户,win7家庭版怎样设置来宾用户权限
  16. 运用百度框架paddle进行手势识别【动手实践,附源码】
  17. 深入探索 Android 网络优化(二、网络优化基础篇)上
  18. linux 实验心得体会
  19. 两相编码器的FPGA驱动
  20. 实时系统和分时系统的区别

热门文章

  1. Python模块之optparse
  2. Given two binary trees, write a function to check if they areequal or not.
  3. python遍历数组冒泡排序_Python算法(一) 数组冒泡排序(难度等级:easy)
  4. python modbus类封装_Python | 面向对象程序设计来了!
  5. kesioncms ajax分页,改进KesionCMS V9.0x SQL标签分页支持嵌套
  6. c语言小游戏 贴吧,【图片】C语言小游戏~贪吃蛇【c语言吧】_百度贴吧
  7. axios 上传文件 封装_axios使用及封装
  8. console vue 打包之后怎么去掉_Vue Cli 3 打包配置--自动忽略 console.log 语句
  9. 自学前端,需要学习哪些知识点?学多久可以入职前端工程师?
  10. 前端工程师如何进行职业规划?