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. Telegraf+Influxdb+Grafana(Windows下本机简易监控系统搭建)

    1.文件名称 telegraf-1.5.0_windows_amd64.zip influxdb-1.4.2_windows_amd64.zip grafana-4.6.3.windows-x64.z ...

  2. ML_Review_LDA(Ch5)

    Note sth about LDA(Linear Discriminant Analysis) 这篇来说说LDA的复习,LDA在第二次作业的博客中也提及了,但是那是作业思考,所以决定再开一篇只说LD ...

  3. Thingsboard学习之二安装Docker和Docker-Compose

    安装系统更新系统,参考<Thingsboard学习之一CentOS安装系统更新> 尝试更新系统 yum update 增加一个用户并设置密码,并将用户增加到管理员 # 添加用户(可选) s ...

  4. 使用Qt Creator作为Linux IDE,代替Vim:实现两台Linux电脑远程部署和gdb调试(一台电脑有桌面系统,一台电脑无桌面系统)

      版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/libaineu2004/article/details/62423830 尊重作者,支持原创,如 ...

  5. linux listen()

    listen(等待连接) 相关函数 socket,bind,accept,connect表头文件 #include<sys/socket.h>定义函数 int listen(int s,i ...

  6. CV3——学习笔记-续

    使用Jupyter.https://jupyter.org/install https://baijiahao.baidu.com/s?id=1601883438842526311&wfr=s ...

  7. fileBeat的简单使用

    Beat的简单使用 Filebeat配置 Output 常见日志格式封装 简单使用filebeat格式化nginx日志 Filebeat的配置: # 修改filebeat.yml # vim file ...

  8. 阶段5 3.微服务项目【学成在线】_day08 课程图片管理 分布式文件系统_06-分布式文件系统研究-fastDFS安装及配置文件说明

    3 fastDFS入门 3.1fastDFS安装与配置 3.1.1 导入虚拟机 对fastDFS的安装过程不要求学生掌握,可以直接导入老师提供虚拟机. 1.使用Vmware打开虚拟机配置文件“Cent ...

  9. Delphi分割字符串函数Split源码

    function TStringHelper.Split(const Separator: array of string; Count: Integer; Options: TStringSplit ...

  10. (五)AJAX技术

    一.定义 AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的 ...