引入jar
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.6.1</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.10.1.RELEASE</version>
</dependency>
</dependencies>
配置文件
mongo.properties
mongo.dbname=lcdcs
mongo.host=10.27.210.198
mongo.port=27017
mongo.username=robotassister
mongo.password=xxyyyxxxxx
#一个线程变为可用的最大阻塞数
mongo.connectionsPerHost=8
#线程队列数,它以上面connectionsPerHost值相乘的结果就是线程队列最大值
mongo.threadsAllowedToBlockForConnectionMultiplier=4
#连接超时时间(毫秒)
mongo.connectTimeout=1500
#最大等待时间
mongo.maxWaitTime=1500
#自动重连
mongo.autoConnectRetry=true
#scoket保持活动
mongo.socketKeepAlive= true
#scoket超时时间
mongo.socketTimeout=1500
#读写分离
mongo.slaveOk=true
XML文件
spring-mongo.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"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo-1.7.xsd
http://www.springframework.org/schema/data/repository
http://www.springframework.org/schema/data/repository/spring-repository-1.7.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.2.xsd"
default-lazy-init="default">
<!--credentials的配置形式是:用户名:密码@默认数据库 credentials="${mongo.username}:${mongo.password}@${mongo.dbname}"-->
<mongo:mongo-client id="mongoClient" host="${mongo.host}" port="${mongo.port}" >
<mongo:client-options write-concern="SAFE"
connections-per-host="${mongo.connectionsPerHost}"
threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"
connect-timeout="${mongo.connectTimeout}"
max-wait-time="${mongo.maxWaitTime}"
socket-timeout="${mongo.socketTimeout}"/>
</mongo:mongo-client>
<mongo:db-factory id="mongoDbFactory" dbname="${mongo.dbname}" mongo-ref="mongoClient" />
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>
</beans>
Dao定义
MongoBase
package com.suning.lcdcs.service.mongo;
import java.util.List;
import java.util.Map;
public interface MongoBase<T> {
//添加
public void insert(T object,String collectionName);
//根据条件查找
public T findOne(Map<String,Object> params,String collectionName);
//查找所有
public List<T> findAll(Map<String,Object> params,String collectionName);
//修改
public void update(Map<String,Object> params,String collectionName);
//创建集合
public void createCollection(String collectionName);
//根据条件删除
public void remove(Map<String,Object> params,String collectionName);
}
OrderInfoMongoDao.java
package com.suning.lcdcs.service.mongo;
import com.suning.fsp.lcdcs.order.OrderInfo;
public interface OrderInfoMongoDao extends MongoBase<OrderInfo>{
}
package com.suning.lcdcs.service.mongo;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
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.suning.fsp.lcdcs.order.OrderInfo;
@Repository("orderInfoMongoDao")
public class OrderInfoMongoDaoImpl implements OrderInfoMongoDao {
@Resource
private MongoTemplate mongoTemplate;
@Override
public void insert(OrderInfo object, String collectionName) {
mongoTemplate.insert(object, collectionName);
}
@Override
public OrderInfo findOne(Map<String, Object> params, String collectionName) {
// TODO Auto-generated method stub
return null;
}
@Override
public List<OrderInfo> findAll(Map<String, Object> params, String collectionName) {
// TODO Auto-generated method stub
return null;
}
@Override
public void update(Map<String, Object> params, String collectionName) {
// TODO Auto-generated method stub
}
@Override
public void createCollection(String name) {
mongoTemplate.createCollection(name);
}
@Override
public void remove(Map<String, Object> params, String collectionName) {
mongoTemplate.remove(new Query(Criteria.where("id").is(params.get("id"))),OrderInfo.class,collectionName);
}
}
package com.suning.fsp.lcdcs.order;
import java.math.BigDecimal;
import org.springframework.data.mongodb.core.mapping.Document;
@Document
public class OrderInfo {
private java.lang.String id;//
private java.lang.String orderNo;// 订单号
private java.lang.String accountNo;// 户头号
private java.lang.Long channelId;// 渠道ID
private BigDecimal orderAmount;// 订单金额
private java.lang.String orderStatus;// 订单状态
private java.util.Date createTime;// 创建时间
private java.util.Date updateTime;// 更新时间@Id
private String source;//1:app 2:微信
private String productId;//产品id
private String productName;//产品名称
private String realName;//用户姓名
private String telPhone;//电话号码
private String idCard;//身份证
private String orderType;//订单类型
/**
* @return the id
*/
public java.lang.String getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(java.lang.String id) {
this.id = id;
}
public java.lang.String getOrderNo() {
return this.orderNo;
}
public void setOrderNo(java.lang.String orderNo) {
this.orderNo=orderNo;
}
public java.lang.String getAccountNo() {
return this.accountNo;
}
public void setAccountNo(java.lang.String accountNo) {
this.accountNo=accountNo;
}
public java.lang.Long getChannelId() {
return this.channelId;
}
public void setChannelId(java.lang.Long channelId) {
this.channelId=channelId;
}
public BigDecimal getOrderAmount() {
return this.orderAmount;
}
public void setOrderAmount(BigDecimal orderAmount) {
this.orderAmount=orderAmount;
}
public java.lang.String getOrderStatus() {
return this.orderStatus;
}
public void setOrderStatus(java.lang.String orderStatus) {
this.orderStatus=orderStatus;
}
public java.util.Date getCreateTime() {
return this.createTime;
}
public void setCreateTime(java.util.Date createTime) {
this.createTime=createTime;
}
public java.util.Date getUpdateTime() {
return this.updateTime;
}
public void setUpdateTime(java.util.Date updateTime) {
this.updateTime=updateTime;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getProductId() {
return productId;
}
public void setProductId(String productId) {
this.productId = productId;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getTelPhone() {
return telPhone;
}
public void setTelPhone(String telPhone) {
this.telPhone = telPhone;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getOrderType() {
return orderType;
}
public void setOrderType(String orderType) {
this.orderType = orderType;
}
}
service中引入
@Autowired
private OrderInfoMongoDao orderMongoDao;
插入mongodb数据库
orderMongoDao.insert(mongoOrder, "order_info");
分享到:
相关推荐
MongoDB是一个高性能、无模式的文档型数据库,而Spring提供了强大的框架支持,使得开发者可以方便地在应用中接入MongoDB。本篇将详细介绍如何使用Maven来管理依赖,以及如何配置和使用Spring Data MongoDB来实现数据...
此外,Spring Boot还提供了丰富的starter包,如`spring-boot-starter-data-mongodb`,用于快速接入MongoDB。 集成MongoDB的第一步是添加对应的起步依赖。在`pom.xml`或`build.gradle`文件中,我们需要引入`spring-...
接下来,我们创建MongoDB的Repository接口,这是Spring Data MongoDB提供的一个强大功能,允许我们无需编写任何DAO层代码就能进行CRUD操作。例如,创建一个`UserRepository`: ```java import org.springframework....
标题中的“ssm+mongodb+mysqljarjar包”指的是一个集成解决方案,包含了Spring、Spring MVC、MyBatis以及MongoDB和MySQL数据库驱动的Java项目所需的一系列jar包。这个压缩包是为了确保在开发环境中,各个组件能够...
总之,这份资料将引导你逐步踏入SpringBoot、MongoDB和Maven的世界,让你快速掌握现代Web开发的核心技术。无论你是初学者还是希望提升技能的开发者,这份资源都将为你提供宝贵的实践经验和理论知识。通过深入学习和...
SpringBootMongo是一个项目,它整合了SpringBoot框架与MongoDB数据库,旨在提供一套方便快捷的API,以便开发者在使用SpringBoot构建应用时能够轻松地接入和操作MongoDB。MongoDB是一个流行的NoSQL数据库,以其非关系...
- Spring Data旨在简化数据访问层的开发,支持多种数据存储,如JPA、MongoDB等。 - 它通过Repository接口提供了声明式查询,降低了与具体数据库API的交互复杂性。 以上是对Spring框架的一些核心概念和关键点的...
驱动层:用于提供标准或者私有协议连接物理设备的 `SDK`,负责南向设备的数据采集和指令控制,基于 `SDK` 可实现驱动的快速开发;...完善性:设备快速接入、注册、权限校验; 安全:数据加密传输; 多租户
Spring AOP通过代理模式实现了切面的织入。 4. **数据访问集成** Spring提供了对各种数据库访问技术的支持,包括JDBC、ORM(Object-Relational Mapping)框架如Hibernate和MyBatis的集成。它简化了数据访问层的...
Spring Data支持多种持久化技术,包括JPA(Java Persistence API)、MongoDB等,提供了统一的API和CRUD操作,以及强大的查询构造器。 **Spring Security** Spring Security是Spring生态中的安全框架,它提供了认证...
Spring Data是Spring框架的一部分,它提供了与各种数据存储的集成,包括关系型数据库(JPA、Hibernate)、NoSQL数据库(MongoDB、Cassandra)等。Spring Data通过统一的API,简化了数据访问层的开发。 6. **Spring...
标题中的"spring+maven+mongodb+activitymq"涵盖了四个关键的技术点,它们分别是Spring框架、Maven构建工具、MongoDB数据库以及Activiti消息队列。接下来,我们将详细探讨这些技术及其在实际应用中的作用。 首先,...
在数据访问方面,Spring Data JPA和Spring Data MongoDB等模块得到了增强,提供更强大的查询能力和与NoSQL数据库的更好集成。Spring Security 5也随着这个版本发布,提升了安全性并增加了对OAuth2的支持。 在源码...
在 Spring 4 中,我们可以定义切面,包括通知(advises),例如前置通知、后置通知、异常通知等,并将它们织入到目标方法中,以实现非侵入式的代码增强。 3. **Spring MVC** Spring MVC 是 Spring 提供的一个用于...
4. **Spring AOP**: 实现切面编程的模块,可以定义切点、通知、织入等概念,实现代码解耦。例如,可以在不修改业务代码的情况下添加日志、事务管理等横切关注点。 5. **Spring JDBC**: 提供了一层抽象,简化了与...
7. **Spring AOP与AspectJ的比较**:虽然Spring AOP在许多场景下足够使用,但AspectJ提供了更强大的AOP支持,包括类型级别的匹配和编译时织入。在需要更细粒度控制或无法用Spring AOP实现的场景下,可以考虑使用...
Spring AOP通过代理实现切面的织入,可以是JDK动态代理或CGLIB代理。 5. **Spring Boot**:这是一个简化Spring应用初始设置和运行的框架,通过自动配置和起步依赖,使得创建独立的、生产级别的基于Spring的应用变得...
Spring JDBC提供了一层抽象,简化了与数据库的交互,而Spring Data项目则简化了对各种数据存储的访问,包括JPA和MongoDB。 事务管理是企业级应用的关键部分,Spring提供了声明式和编程式事务管理。声明式事务管理...
- **面向切面编程(Aspect-Oriented Programming, AOP)**:研究`@Aspect`、`@Before`、`@After`等注解,了解Spring如何在运行时织入切面代码。 - **Spring MVC工作流程**:分析`DispatcherServlet`如何分发请求,`...
本快速入门教程将引导您踏入Spring的世界,了解其核心特性以及如何在实际项目中应用。 一、Spring概述 Spring框架由Rod Johnson于2003年创建,它的核心目标是简化企业级Java应用程序的开发。Spring通过提供依赖注入...