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创建的 ...
随机推荐
- “全栈2019”Java第十五章:Unicode与转义字符
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- easy-ui grid里的toobar按钮隐藏与显示
//隐藏第一个按钮$('div.datagrid-toolbar a').eq(0).hide();//隐藏第一条分隔线$('div.datagrid-toolbar div').eq(0).hide ...
- 2016级算法第一次练习赛-C.斐波那契进阶
870 斐波那契进阶 题目链接:https://buaacoding.cn/problem/870/index 思路 通过读题就可以发现这不是一般的求斐波那契数列,所以用数组存下所有的答案是不现实的. ...
- django中多个app放入同一文件apps
新建一个apps文件夹 需要整理的app文件夹拖到同一个文件夹中,即apps.(弹出对话框,取消勾选Search for references) 在pycharm中,右键apps文件夹--选择mark ...
- HTML 标记大全参考手册
1.文件结构 文件类型 <HTML></HTML> (放在文档的开头与结尾) 文件主题 <TITLE></TITLE> (必须放在「文头」区块内) 文头 ...
- 设置第三方的SMTP服务
取得授权码:
- Python——数据交换格式简要
简单数据交换格式 CSV: 一般用 open() 函数和字符串拆分 split() 方法,但python有内置的csv模块 读: import csv with open(r"C:\ ...
- jq扩展获取表单值、设置值
不多说,直接上代码 //jq添加插件 (function (window, $) { $.fn.serializeJson = function () { var serializeObj = {}; ...
- CDH集群安装配置(七)--CDH组件的安装和配置
1. Clouder Manger页面的配置 访问主节点IP:(cdh1)192.168.80.81:7180 默认用户名和密码:admin,admin 选择一个版本 选择集群的服务器(agent), ...
- Android中直接打开高德APP进行导航
1.判断是否安装有高德APP //高德APPprivate PackageManager mPackageManager;private static List<String> mPack ...