MongoDB与spring整合-04
2019-04-09 19:06
302 查看
引入坐标
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.8.0</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.10.7.RELEASE</version> </dependency>
添加配置文件 spring-mongo.xml
<mongo:mongo id="mongo" host="127.0.0.1" port="27017" ></mongo:mongo> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg ref="mongo"/> <constructor-arg name="databaseName" value="库名" /> </bean>
在需要使用Mongodb的地方注入MongoTemplate对象即可使用
在需要用存储到mongodb数据库的实体类中添加@Document和@Id注解
@Document //代表的他是mongodb的一个实体 @Data @AllArgsConstructor @NoArgsConstructor public class Book implements Serializable{ @Id //代表的是主键 private String id; private String name; private Integer money; private Date createTime; }
private MongoTemplate mongoTemplate = null; @Before public void before(){ //ClassPathXmlApplicationContext:spring提供的一个接口类 ClassPathXmlApplicationContext cpxa = new ClassPathXmlApplicationContext("classpath:spring-mongo.xml"); mongoTemplate = (MongoTemplate) cpxa.getBean("mongoTemplate"); }
新增
@Test public void test1(){ Book b = new Book(); b.setName("Java基础"); b.setMoney(50); b.setCreateTime(new Date()); mongoTemplate.save(b); }
查询所有
/** * 查询所有 */ @Test public void test2(){ //第一个query为条件,第二个为要查询的是哪个集合 //查询的集合为类名的首字母小写 //如:类名为Book 则查询book集合 List<Book> books = mongoTemplate.find(null, Book.class); System.out.println(books); }
单一条件查询
//单一条件查询 @Test public void test3(){ Query query = new Query(); Criteria where = new Criteria(); where.and("money").is(69); query.addCriteria(where); List<Book> books = mongoTemplate.find(query, Book.class); System.out.println(books); }
多条件查询
//多条件查询 @Test public void test4(){ //条件查询用到Query和Criteria两个对象 Query query = new Query(); Criteria where1 = new Criteria(); //查询出money大于60小于65的 where1.and("money").lte(65); Criteria where2 = new Criteria(); where2.and("money").gte(60); query.addCriteria(new Criteria().andOperator(where1,where2)); List<Book> books = mongoTemplate.find(query, Book.class); System.out.println(books); }
分页查询
/** * 分页查询 */ @Test public void test5(){ int page = 2; int rows = 3; Query query = new Query(); query.skip((page-1)*rows).limit(rows); List<Book> books = mongoTemplate.find(query, Book.class); System.out.println(books); }
修改
/** * 修改 */ @Test public void test6(){ Query query = new Query(); Criteria where = new Criteria(); where.and("money").is(50);//将money为50的数据进行修改 Update update = new Update(); update.set("money",59); mongoTemplate.updateFirst(query,update,Book.class); }
删除
/** * 删除 */ @Test public void test7(){ Query query = new Query(); Criteria where = new Criteria(); where.and("money").is(59); query.addCriteria(where); mongoTemplate.remove(query,Book.class); }
相关文章推荐
- spring4整合mongodb
- mongodb与spring-data整合
- 【SpringMVC学习04】Spring、MyBatis和SpringMVC的整合
- [增删改查] SpringBoot 整合 MongoDB 之 MongoTemplate 实现 CRUD、分页接口
- MongoDB学习13_MongoDB学习笔记之 第4章 MongoDB整合Spring
- Spring 整合Mongodb
- MongoDB整合Spring 详细讲解(含代码)
- SpringBoot非官方教程 | 第八篇:springboot整合mongodb
- Spring整合MongoDB更新、删除数据的返回值
- 使用IDEA搭建SpringBoot项目且整合mongoDB和mysql
- Spring整合- mongodb
- 【SpringMVC学习04】Spring、MyBatis和SpringMVC的整合
- mongodb整合spring
- Spring整合- mongodb
- Spring整合- mongodb
- 04_SSM框架整合(Spring+SpringMVC+MyBatis)
- Spring整合MongoDB
- java-spring与mongodb的整合方式一 手动注入xml
- mongodb整合spring之增删改查
- springboot 学习之路 14(整合mongodb的Api操作)