Spring Data MongoDB简单的增删改查
来源:互联网 发布:网络搞笑猛虎下山图 编辑:程序博客网 时间:2024/05/16 17:18
今天看了 Spring Data MongoDB 的官方文档自己实验性的做了个小例子。
项目结构
具体代码
– 简单的Bean类
package org.spring.mongodb.example.bean;/** * * 2015-10-17 * @category 直接复制的官网上的类 * @author wangpeng * */public class Person { private String id; private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getId() { return id; } public String getName() { return name; } public int getAge() { return age; } @Override public String toString() { return "Person [id=" + id + ", name=" + name + ", age=" + age + "]"; }}
package org.spring.mongodb.example.config;import org.springframework.beans.factory.FactoryBean;import org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper;import org.springframework.data.mongodb.core.convert.MappingMongoConverter;import org.springframework.data.mongodb.core.convert.MongoTypeMapper;public class MyccniceMongoConverterFactoryBean implements FactoryBean<MappingMongoConverter> { private MappingMongoConverter converter; public MyccniceMongoConverterFactoryBean(MappingMongoConverter converter) { this.converter = converter; } @Override public MappingMongoConverter getObject() throws Exception { // 参数是Type在MongoDB中名字. // 设置为null的话就不会在保存时自动添加_class属性. // Spring默认为 DEFAULT_TYPE_KEY = "_class"; MongoTypeMapper typeMapper = new DefaultMongoTypeMapper(null); converter.setTypeMapper(typeMapper); return converter; } @Override public Class<?> getObjectType() { return MappingMongoConverter.class; } @Override public boolean isSingleton() { return true; }}
– 简单的测试类
package org.spring.mongodb.example;import org.junit.Before;import org.junit.runner.RunWith;import org.spring.mongodb.example.bean.Person;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;/** * * 2015-10-17 * @author wangpeng * */@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations="classpath:spring-db.xml")public class BaseSpringTest { protected Person person; @Before public void initApplicationContext(){ person = new Person("Joe", 34); }}
package org.spring.mongodb.example;import static org.springframework.data.mongodb.core.query.Criteria.where;import static org.springframework.data.mongodb.core.query.Query.query;import static org.springframework.data.mongodb.core.query.Update.update;import java.util.List;import org.junit.Test;import org.spring.mongodb.example.bean.Person;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.mongodb.core.MongoTemplate;/** * * 2015-10-17 * @category 测试SpringMongoDb增删改查 * @author wangpeng * */public class MongoDbTest extends BaseSpringTest{ @Autowired private MongoTemplate mongoTemplate; @Test public void saveTest() { mongoTemplate.save(person); } @Test public void findTest() { Person p = mongoTemplate.findOne(query(where("name").is("Joe")), Person.class); System.out.println(p); } @Test public void updateTest() { mongoTemplate.updateFirst(query(where("name").is("Joe")), update("age", 35), Person.class); Person p = mongoTemplate.findOne(query(where("name").is("Joe")), Person.class); System.out.println(p); } @Test public void removeTest() { List<Person> people = mongoTemplate.findAll(Person.class); System.out.println(people.size()); Person p = mongoTemplate.findOne(query(where("name").is("Joe")), Person.class); mongoTemplate.remove(p); people = mongoTemplate.findAll(Person.class); System.out.println(people.size()); mongoTemplate.dropCollection(Person.class); }}
– 两个配置文件
host = 118.123.8.140port = 12345connections-per-host = 8connection-multiplier = 4connect-timeout = 1000max-wait-time = 1500auto-connect-retry = truesocket-keep-alive = truesocket-timeout = 1500slave-ok = turewrite-number = 1write-timeout = 0write-fsync = true
<?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/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <context:component-scan base-package="org.spring.mongodb.example" /> <context:property-placeholder location="classpath:db.properties" /> <mongo:mongo id="mongo" host="${host}" port="${port}"> <mongo:options connections-per-host="${connections-per-host}" threads-allowed-to-block-for-connection-multiplier="${connection-multiplier}" connect-timeout="${connect-timeout}" max-wait-time="${max-wait-time}" auto-connect-retry="${auto-connect-retry}" socket-keep-alive="${socket-keep-alive}" socket-timeout="${socket-timeout}" slave-ok="true" write-number="${write-number}" write-timeout="${write-timeout}" write-fsync="${write-fsync}" /> </mongo:mongo> <mongo:db-factory id="mongoDbFactory" dbname="imooc" mongo-ref="mongo" /> <mongo:mapping-converter id="mongoConverter" /> <bean id="noClassMongoConverter" class="org.spring.mongodb.example.config.MyccniceMongoConverterFactoryBean"> <constructor-arg name="converter" ref="mongoConverter" /> </bean> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" /> <constructor-arg name="mongoConverter" ref="noClassMongoConverter" /> </bean></beans>
–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.myccnice</groupId> <artifactId>lottery</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>lottery Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <jdk.version>1.7</jdk.version> <spring.version>4.0.9.RELEASE</spring.version> <spring.mongodb.version>1.7.2.RELEASE</spring.mongodb.version> </properties> <dependencies> <!-- test beggin --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <!-- test end --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>${spring.mongodb.version}</version> </dependency> </dependencies> <repositories> <repository> <id>spring-milestone</id> <name>Spring Maven MILESTONE Repository</name> <url>http://repo.spring.io/libs-milestone</url> </repository> </repositories></project>
0 0
- Spring Data MongoDB简单的增删改查
- mongodb实现简单的增删改查
- mongodb实现简单的增删改查
- MongoDB简单的增删改查
- mongodb实现简单的增删改查
- mongodb-简单增删改查
- 文章标题spring-boot + spring-data-jpa 实现简单的增删改查
- 用spring boot和spring data jpa做简单的增删查改
- MongoDB的增删改查
- mongodb的增删改查
- Mongodb的增删改查
- 第二章:MongoDB简单的增删改查
- 第二章:MongoDB简单的增删改查
- mongoDB搭建和运行简单的增删改查操作
- mongodb安装与简单的增删改查
- Spring Data JPA 增删改查
- mongodb整合spring之增删改查
- mongodb 增删改查简单封装
- 黑马程序员_Socket网络通信
- 摘编
- 1. Redis集群研究和实践(基于redis 3.0.5)
- 将图片裁剪为圆边
- 黑马程序员_排序
- Spring Data MongoDB简单的增删改查
- C#绘制验证码噪声点
- 【Python】pip - 安装第三方包的神器
- blktrace 深度了解linux系统的IO运作
- 黑马程序员_多线程与死锁
- 配置Apache服务器
- json字符串在javascript和java代码中的表示方式
- 黑马程序员_位运算符的应用
- 收集一些画图方面的js库