MongoDB 学习(三)MongoDB 和 Spring 整合(Maven)
一、MongoDB 和 Spring 整合(Maven)
1、相关 jar 包准备
2、用 Maven 创建项目,pom.xml 文件
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test.web</groupId>
<artifactId>study-maven</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>study-maven Maven Webapp</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding> <!-- spring版本号 -->
<spring.version>4.1.9.RELEASE</spring.version>
<org.mybatis.version>3.4.1</org.mybatis.version>
<org.mybatis.spring.version>1.3.0</org.mybatis.spring.version>
</properties> <dependencies>
<!--驱动包-->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.13.0-rc2</version>
</dependency>
<!--核心包-->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.8.2.RELEASE</version>
</dependency>
<!--依赖-->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>1.10.0.RELEASE</version>
</dependency> <!-- 添加spring核心依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency> </dependencies>
<build>
<finalName>study-maven</finalName>
</build>
</project>
3、spring-config.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" xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo.xsd"> <!--1.开启注解-->
<context:annotation-config/> <!--2.自动扫描-->
<context:component-scan base-package="com.mongodb"/> <!--3.服务器连接信息-->
<mongo:mongo host="localhost" port="27017"/> <!--4.创建mongoTemplate模板-->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongo"/>
<!-- 设置使用的数据库 名-->
<constructor-arg name="databaseName" value="station"/>
</bean> </beans>
4、pojo 类
Product 类
package com.mongodb.pojo; /**
* @author zt1994 2018/3/12 10:43
*/
public class Product {
private String id;
private String productName;
private Integer productNum; public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getProductName() {
return productName;
} public void setProductName(String productName) {
this.productName = productName;
} public Integer getProductNum() {
return productNum;
} public void setProductNum(Integer productNum) {
this.productNum = productNum;
} @Override
public String toString() {
return "Product{" +
"id='" + id + '\'' +
", productName='" + productName + '\'' +
", productNum=" + productNum +
'}';
}
}
5、dao 层
IProductDao 接口:
package com.mongodb.dao; import com.mongodb.pojo.Product; import java.util.List; /**
* @author zt1994 2018/3/12 10:45
*/
public interface IProductDao {
/**
* 添加产品
* @param product
*/
void addProduct(Product product); /**
* 删除产品
* @param id
*/
void removeProduct(String id); /**
* 保存或修改产品
* @param product
*/
void saveOrUpdateProduct(Product product); /**
* 查询单个产品
* @param id
* @return
*/
Product findById(String id); /**
* 查询所有产品
* @return
*/
List<Product> findAll();
}
ProductDaoImpl 实现类:
package com.mongodb.dao.impl; import com.mongodb.dao.IProductDao;
import com.mongodb.pojo.Product;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Repository; import java.util.List; /**
* @author zt1994 2018/3/12 10:46
*/
@Repository
public class ProductDaoImpl implements IProductDao { @Autowired
private MongoTemplate mongoTemplate; public void addProduct(Product product) {
//1.如果没有指定集合,则默认添加到和对象名称相同的集合中,没有则创建一个
//2.也可以指定集合 mongoTemplate.save(product, "product_db");
mongoTemplate.save(product);
} public void removeProduct(String id) {
Product product = findById(id);
mongoTemplate.remove(product);
} public void saveOrUpdateProduct(Product product) {
mongoTemplate.save(product);
} public Product findById(String id) {
return mongoTemplate.findById(id, Product.class);
} public List<Product> findAll() {
return mongoTemplate.findAll(Product.class);
}
}
6、测试
package com.mongodb.test; import com.mongodb.dao.IProductDao;
import com.mongodb.pojo.Product;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.util.List; /**
* @author zt1994 2018/3/12 10:52
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring-config.xml")
public class TestProductDao { @Autowired
private IProductDao productDao; /**
* 测试添加产品
*/
@Test
public void testAddProduct(){
Product product = new Product();
product.setProductName("测试新增");
product.setProductNum(3);
productDao.addProduct(product);
} /**
* 测试查找所有产品
*/
@Test
public void testFindAll(){
List<Product> productList = productDao.findAll();
for (Product product : productList) {
System.out.println(product);
}
} /**
* 测试通过id查找产品
*/
@Test
public void testFindId(){
Product product = productDao.findById("5aa5f3d9b735172bc3a617c1");
System.out.println(product);
} /**
* 测试更新产品
*/
@Test
public void testUpdateProduct(){
Product product = productDao.findById("5aa5f3d9b735172bc3a617c1");
System.out.println(product);
product.setProductName("测试修改");
product.setProductNum(5);
this.productDao.saveOrUpdateProduct(product);
Product product2 = productDao.findById("5aa5f3d9b735172bc3a617c1");
System.out.println(product2);
}
}
MongoDB 学习(三)MongoDB 和 Spring 整合(Maven)的更多相关文章
- MyBatis学习(三)---MyBatis和Spring整合
想要了解MyBatis基础的朋友可以通过传送门: MyBatis学习(一)---配置文件,Mapper接口和动态SQL http://www.cnblogs.com/ghq120/p/8322302. ...
- elasticSearch+spring 整合 maven依赖详解
摘自:http://www.mayou18.com/detail/nTxPQSyu.html [Elasticsearch基础]elasticSearch+spring 整合 maven依赖详解 Ma ...
- MongoDB学习笔记:MongoDB 数据库的命名、设计规范
MongoDB学习笔记:MongoDB 数据库的命名.设计规范 第一部分,我们先说命名规范. 文档 设计约束 UTF-8 字符 不能包含 \0 字符(空字符),这个字符标识建的结尾 . 和 $ ...
- MongoDB系列:四、spring整合mongodb,带用户验证
在前面的两篇博客 MongoDB常用操作练习.springboot整合mongoDB的简单demo中,我们基本上熟悉了mongodb,也把它与spring boot进行了整合并且简单使用.在本篇博客中 ...
- Spring框架学习(4)spring整合hibernate
内容源自:spring整合hibernate spring整合注解形式的hibernate 这里和上一部分学习一样用了模板模式, 将hibernate开发流程封装在ORM层提供的模板类Hiber ...
- Spring(三):Spring整合Hibernate
背景: 本文主要介绍使用spring-framework-4.3.8.RELEASE与hibernate-release-5.2.9.Final项目整合搭建的过程. 开发环境简介: 1).jdk 1. ...
- Mybatis学习(六)————— Spring整合mybatis
一.Spring整合mybatis思路 非常简单,这里先回顾一下mybatis最基础的根基, mybatis,有两个配置文件 全局配置文件SqlMapConfig.xml(配置数据源,全局变量,加载映 ...
- Spring学习笔记六:Spring整合Hibernate
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6785323.html 前言:整合概述 Spring整合Hibernate主要是把Hibernate中常用的S ...
- Spring框架学习(5)spring整合struts2
内容源自:spring整合struts2 一.spring框架对struts等表现层框架的整合原理 : 使用spring的ioc容器管理struts中用于处理请求的Action 将Action配置成i ...
- Struts2学习笔记——Struts2与Spring整合
Struts2与Spring整合后,可以使用Spring的配置文件applicationContext.xml来描述依赖关系,在Struts2的配置文件struts.xml来使用Spring创建的 ...
随机推荐
- PHP网上支付
1,网上支付方式两类:企业与银行对接和通过中间公司间接与银行对接. (1),企业与银行对接,优点:因为直接与银行进行财务结算,交易资金结算比较安全.适合资金流量比较大的企业,这种方案适合于,每月结算金 ...
- 基于LDAP下的Samba服务
基于LDAP下的Samba服务 一.环境情况: 实验环境:俩台机器,分别为2012R2,安装有 AD 并作为域控制器Domain Controller(DC),同时也作为 DNS 服务器和时间服务器: ...
- HTTP请求处理流程-SpringMvc
1.在SpringMVC的http请求处理过程中,包括了前端控制器(DispatcherServlet).处理映射器(HandlerMapping).处理适配器(HandlerAdapter).处理器 ...
- 高阶篇:6)设计评审Design reviews;
本章目的:明白设计评审Design reviews的概念和流程,不犯常见错误. 1 设计评审概念: 所谓设计评审,是指对设计所作的正式的.综合性的和系统性的审查,并写成文件,以评定设计要求与设计能力是 ...
- [转] maven打包可运行的fat-jar的简单方法
[From] https://blog.csdn.net/tearsky253/article/details/75948721 问题 在使用“mvn package”命令编译application之 ...
- Delphi XE TStringBuilder
function T_SunnySky_SDK.JoinItems(AParamDic: TDictionary<string, string>): string; var sb : TS ...
- git常用安装包,指令
babel-polufill -es6 API转义 npm install --save @babel/polyfill babel-runtime -es语法转义 npm install --s ...
- Pycharm 导入 Python 包、模块
1.点击File->settings 2.选择Project Interpreter,点击右边绿色的加号添加包 3.输入你想添加的包名,点击Install Package 4.可以在Pychar ...
- mysql入门与进阶
MySQL入门与进阶 需求:对一张表中的数据进行增删改查操作(CURD) C:create 创建 U:update 修改 R:read 读|检索 查询 D:delete 删除涉及技术:数据库 1.数据 ...
- 数据库SQL(1)
EG1:db.LpOutputGroups.GroupBy(q => q.CalcGroupDesc).ToList().OrderByDescending(m => m.First(). ...