mongodb整合spring
来源:互联网 发布:js set to array 编辑:程序博客网 时间:2024/05/19 19:59
1.mongodb.properties文件
#mongoDB连接配置 mongo.hostport=127.0.0.1:27017 mongo.connectionsPerHost=8 mongo.threadsAllowedToBlockForConnectionMultiplier=4 #连接超时时间 mongo.connectTimeout=1000 #等待时间 mongo.maxWaitTime=1500 mongo.autoConnectRetry=true mongo.socketKeepAlive=true #Socket超时时间mongo.socketTimeout=1500 mongo.slaveOk=true
2.mongodb配置文件
<?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/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"><!-- 定义mongo对象,对应的是mongodb官方jar包中的Mongo,replica-set设置集群副本的ip地址和端口 --><mongo:mongo id="mongo" replica-set="${mongo.hostport}"><!-- 一些连接属性的设置 --><mongo:options connections-per-host="${mongo.connectionsPerHost}" threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}" connect-timeout="${mongo.connectTimeout}" max-wait-time="${mongo.maxWaitTime}" auto-connect-retry="${mongo.autoConnectRetry}" socket-keep-alive="${mongo.socketKeepAlive}" socket-timeout="${mongo.socketTimeout}" slave-ok="${mongo.slaveOk}" write-number="1" write-timeout="0" write-fsync="true" /></mongo:mongo><mongo:db-factory dbname="database" mongo-ref="mongo" /><!--创建数据库--><bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"><constructor-arg ref="mongo" /><constructor-arg name="databaseName" value="local" /></bean></beans>
3.pom文件
<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.innofarm</groupId><artifactId>innofarmAnalysis</artifactId><version>1.0.0-SNAPSHOT</version><packaging>war</packaging><description>Spring MVC + Spring + SpringJdbc</description><dependencies><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-core</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-web</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-config</artifactId><version>4.1.3.RELEASE</version></dependency><!-- mongodb --><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-mongodb</artifactId><version>1.3.0.RELEASE</version></dependency><dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>2.11.1</version> </dependency><!-- 连接池 --><dependency><groupId>com.jolbox</groupId><artifactId>bonecp-spring</artifactId><version>0.8.0.RELEASE</version></dependency><!-- 数据库驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope><version>5.1.32</version></dependency><!-- c3p0 --><dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version></dependency><!-- dbutils --><dependency><groupId>commons-dbutils</groupId><artifactId>commons-dbutils</artifactId><version>1.6</version></dependency><!-- JSP相关 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.1.30</version></dependency><dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version><classifier>jdk15</classifier></dependency><!-- 日志 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.6.4</version></dependency><!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!--Apache Shiro所需的jar包 --><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>1.2.2</version></dependency><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-web</artifactId><version>1.2.2</version></dependency><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId><version>1.2.2</version></dependency><!-- 定时任务Quartz --><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.1</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>4.1.3.RELEASE</version></dependency><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz-jobs</artifactId><version>2.2.1</version></dependency><!-- jxl --><dependency><groupId>net.sourceforge.jexcelapi</groupId><artifactId>jxl</artifactId><version>2.6.12</version></dependency></dependencies><build><finalName>${project.artifactId}</finalName><pluginManagement><plugins><!-- 资源文件拷贝插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>2.7</version><configuration><encoding>UTF-8</encoding></configuration></plugin><!-- java编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><source>1.7</source><target>1.7</target><encoding>UTF-8</encoding></configuration></plugin><!-- 配置Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>8083</port><path>/</path></configuration></plugin></plugins></pluginManagement></build></project>
4.加载properties文件
由于本项目既连接了mysql,又连接了mongodb,所以需要加载2个properties文件,加载多个properties文件时,不能用下面这种写法
<context:property-placeholder location="classpath:jdbc.properties" /><context:property-placeholder location="classpath:mongodb.properties" />因为第一个会覆盖掉第二个,应该使用通配符的方式加载
<context:property-placeholder location="classpath:*.properties"/>
package com.innofarm.controller;import java.util.List;import javax.annotation.Resource;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.innofarm.dao.MemberDao;import com.innofarm.dto.UserEntity;//@Controller说明此类是控制层的类@RequestMapping("/mongodb")@Controllerpublic class MongoDB extends CommonController{@Resourceprivate MemberDao memberDao;@RequestMapping("/insert")public void insert(){UserEntity entity = memberDao.findOne("591a66eeee1cd315e4498115");System.out.println("entity="+entity);List<UserEntity> findAll = memberDao.findAll();System.out.println(findAll);memberDao._test();UserEntity userEntity = new UserEntity();userEntity.setFarmId("asasasasaas");userEntity.setUserAcnt("zmk");userEntity.setUserId("12323455");memberDao.insert(userEntity); }/*public static void main(String[] args) {new MongoDB().insert();}*/}
6.MemberDao测试类
package com.innofarm.dao;import java.util.List;import java.util.Set;import java.util.regex.Pattern;import org.springframework.beans.factory.annotation.Autowired;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.stereotype.Repository;import com.innofarm.dto.UserEntity;import com.mongodb.DB;@Repositorypublic class MemberDao {@Autowired private MongoTemplate mongoTemplate; public List<UserEntity> findAll() { return getMongoTemplate().find(new Query(), UserEntity.class); } public void _test() { Set<String> colls = this.mongoTemplate.getCollectionNames(); for (String coll : colls) { System.out.println("=====================================CollectionName="+coll); } DB db = this.mongoTemplate.getDb(); System.out.println("db=" + db.toString()); } public List<UserEntity> findByRegex(String regex) { Pattern pattern = Pattern.compile(regex,Pattern.CASE_INSENSITIVE); Criteria criteria = new Criteria("name").regex(pattern.toString()); return getMongoTemplate().find(new Query(criteria), UserEntity.class); } public void insert(UserEntity entity) { this.mongoTemplate.insert(entity); } public UserEntity findOne(String id){ return getMongoTemplate().findOne(new Query(Criteria.where("_id").is(id)), UserEntity.class); } public MongoTemplate getMongoTemplate() { return mongoTemplate; } /** * @param mongoTemplate the mongoTemplate to set */ public void setMongoTemplate(MongoTemplate mongoTemplate) { this.mongoTemplate = mongoTemplate; }}7.测试结果
阅读全文
0 0
- Spring整合- mongodb
- spring+Mongodb简单整合
- Spring整合- mongodb
- Mongodb整合Spring示例
- spring 于mongodb整合
- spring整合mongoDB-1
- spring整合mongoDB-2
- spring整合mongoDB-3
- mongodb与spring整合
- MongoDB和Spring整合
- MongoDB整合Spring
- Spring整合mongodb详解
- 详解Spring整合MongoDB
- spring整合mongodb 1
- spring整合mongodb 2
- Spring整合MongoDB
- mongodb和spring整合
- spring MVC 整合mongodb
- abap修改客户主数据值bapi SD_CUSTOMER_MAINTAIN_ALL
- AsyncTask 中的 publishProgress 方法
- 修改mysql默认编码重启后又还原,且在修改my.ini配置文件出现1067错误的解决办法。
- CentOS6.5安装mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar
- 服务器
- mongodb整合spring
- 关键字 instanceof
- maven的package与install命令区别
- Android_非UI:StickLayout
- 织梦dedecms Fatal error: Call to a member function read() on boolean in templets_default.htm 54
- 请入坑:深入spring表单标签原理
- 限制表单输入框过滤特殊字符及空格
- golang list slice 删除其中一项比对
- PHP-FPM Nginx 504