1、加入lib包,在Maven中

     <dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>1.5..RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.4..RELEASE</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.12.</version>
</dependency>

2、在Spring的配置文件中,加入如下的命名空间

xmlns:mongo=http://www.springframework.org/schema/data/mongo
对应的location是:http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.5.xsd

3、Bean配置

<mongo:mongo host="192.168.174.104" port=""></mongo:mongo>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongo"/>
<constructor-arg name="databaseName" value="arch1"/>
</bean>

4、简单示例

@Repository
public class GoodsMongoDao implements GoodsDAO { @Autowired
private MongoTemplate mongoTemplate; private final String COLLEC_NAME = "goods"; //增加
public void create(GoodsModel m) {
mongoTemplate.insert(m, COLLEC_NAME);
} //修改
public void update(GoodsModel m) { DBCollection goods = mongoTemplate.getCollection(COLLEC_NAME); BasicDBObject query = new BasicDBObject("uuid", m.getUuid()); BasicDBObject one = new BasicDBObject().append("uuid", m.getUuid())
.append("name", m.getName()).append("imgPath", m.getImgPath())
.append("description", m.getDescription()); goods.update(query, one); } //删除
public void delete(Integer uuid) {
Criteria query = new Criteria("uuid").is(uuid); mongoTemplate.remove(new Query(query), COLLEC_NAME); } //查询
public GoodsModel getByUuid(Integer uuid) { Criteria query = new Criteria("uuid").is(uuid); return mongoTemplate.findOne(new Query(query), GoodsModel.class,
COLLEC_NAME); } public List<GoodsQueryModel> getByConditionPage(GoodsQueryModel qm) { return null;
} //分页查询
public List<GoodsQueryModel> getByCondition(GoodsQueryModel qm) { Criteria criteria = new Criteria();
if (StringUtils.isNotEmpty(qm.getName())){
criteria.andOperator(new Criteria("name").regex(qm.getName()));
} if (StringUtils.isNotEmpty(qm.getName())){
criteria.andOperator(new Criteria("imgPath").regex(qm.getName()));
} if (StringUtils.isNotEmpty(qm.getName())){
criteria.andOperator(new Criteria("description").regex(qm.getName()));
} Long count=mongoTemplate.count(new Query(criteria), COLLEC_NAME); Page page=qm.getPage();
page.setTotalCount(count.intValue()); List<GoodsQueryModel> results=mongoTemplate.find(new Query(criteria).skip(page.getStart()).limit(page.getPageShow()), GoodsQueryModel.class, COLLEC_NAME); return results;
} }

mongo与spring集合的更多相关文章

  1. 让Mongo在Spring中跑起来

    本文标题为<让Mongo在Spring中跑起来>,旨在Spring中如何成功连接MongoDB并对其进行增删改查等操作,由于笔者也是刚接触,对其中的一些原由也不甚了解,若有错误之处,敬请指 ...

  2. 【转】关于spring集合对象的补充

    <span style="font-size:18px;">关于spring集合对象的补充 spring2.0中对集合对象有了改进,新增了一个<util>标 ...

  3. spring集合类型注入

    spring集合类型注入 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUB ...

  4. spring集合类型的setter注入的一个简单例子

    在项目中我们有时候会为集合类型设定一些默认的值,使用spring后,我们可以通过配置文件的配置,用setter方式为对象的集合属性提供一些默认值,下面就是一个简单的例子. 首先我们创建了一个名为Col ...

  5. springboot~mongo内嵌集合的操作

    对于mongodb的内嵌对象的各种操作大叔在.net平台时已经说过,同时大叔也自己封装过mongo的仓储,使用也都很方便,而在java springboot框架里当然也有对应的方法,下面主要说一下,希 ...

  6. Spring集合注入

    1.集合注入 上一篇博客讲了spring得属性注入,通过value属性来配置基本数据类型,通过<property>标签的 ref 属性来配置对象的引用.如果想注入多个数据,那我们就要用到集 ...

  7. Spring集合 (List,Set,Map,Properties) 实例

    下面例子向您展示Spring如何注入值到集合类型(List, Set, Map, and Properties). 支持4个主要的集合类型: List – <list/> Set – &l ...

  8. Spring 集合注入

    Spring注入是spring框架的核心思想之一.在实际的开发中,我们经常会遇见这样一些类的注入,这些类中包含一些集合作为类的属性,那么要怎样想类中的集合注入数据呢?本文通过一个简单的示例向大家介绍一 ...

  9. Shiro和Spring 集合实现同一个账号只能一个人在线使用,其它人在使用进行剔除(八)

    1.实现原理其实就是自定义过滤器,然后登录时,A登录系统后,B也登录了,这个时候获取此账号之前的session给删除,然后将新的session放入到缓存里面去,一个账户对应一个有序的集合 编写自定义过 ...

随机推荐

  1. Spring Boot :Failed to instantiate SLF4J LoggerFactory Reported exception:

    Spring Boot出现以下错误: Failed to instantiate SLF4J LoggerFactory Reported exception: Failed to instantia ...

  2. JDK安装及Java环境变量配置

    1.JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html. 2.点击A ...

  3. Discretized Streams: A Fault-Tolerant Model for Scalable Stream Processing

    https://www2.eecs.berkeley.edu/Pubs/TechRpts/2012/EECS-2012-259.pdf Discretized Streams: A Fault-Tol ...

  4. python 设计模式之 (Chain of Responsibility)责任链模式

    #写在前面 对于每一种设计模式,如果不理解它的原理和结构,是写不出例子来的.所以弄明白很重要. 等过完这段浑浑噩噩的日子,我要找个遍地开花的地方开怀大笑一场 #责任链模式定义 简书上一网友就把这个定义 ...

  5. sklearn里计算roc_auc_score,报错ValueError: bad input shape

    用sklearn的DecisionTreeClassifer训练模型,然后用roc_auc_score计算模型的auc.代码如下 clf = DecisionTreeClassifier(criter ...

  6. 如何交叉编译openssl库?

    1. 获取源码 wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz 2. 解压源码 tar xvf openssl-1.0.2s.tar ...

  7. python小白之矩阵matrix笔记(updating)

    Matrix #python学习之矩阵matrix 2018.4.18 # -*- coding: UTF-8 -*- from numpy import * import numpy as np i ...

  8. 深入理解DefaultMessageListenerContainer

    DefaultMessageListenerContainer是一个用于异步消息监听的管理类. DefaultMessageListenerContainer最简单的实现逻辑,一个任务执行器,执行任务 ...

  9. OpenStack社区中的GO语言之争

    1 背景介绍 Swift之前几乎所有的代码都是用Python实现的,但是性能一直不理想, 社区为了解决性能问题,尝试过很多方法,后来发现用Golang语言进行一部分代码重写, 性能得到了一定的提升,社 ...

  10. mybatis/tk mybatis下实体字段是关键字/保留字,执行报错

    实体如下: import com.fasterxml.jackson.annotation.JsonFormat; import com.xxx.web.bean.PagesStatic; impor ...