spring整合mongodb学习3:结合spring来操作mongodb(简单增删改查)

这里就用到了MongoOperations tempelate;
直接上代码:
首先创建四个实体(这里省略set get方法 自己可以添加上,或者使用lombok插件):
1,User

@Document(collection="users")
public class User {
	private ObjectId id;
	private String name;
	private String country;
	private Address address;
	private Favorites favorites;
	private int age;
	private BigDecimal salary;
	private float lenght;
	private List<Comment> comments;
}

2,Address

public class Address {
	private String aCode;
	private String add;
}

3,Favorites

public class Favorites {
	private List<String> movies;
	private List<String> cites;
}

4,Comment

public class Comment {
	private String author;
	private String content;
	private Date commentTime;
	public Comment() {
		super();
	}
	public Comment(String author, String content, Date commentTime) {
		super();
		this.author = author;
		this.content = content;
		this.commentTime = commentTime;
	}
}

测试类:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class test2 {
	
	@Resource
	private MongoOperations tempelate;
	
	@Test
	public void insertTest() {
		User user = new User();
		user.setName("徐凤年");
		user.setCountry("CN");
		user.setAge(23);
		user.setLenght(1.70f);
		user.setSalary(new BigDecimal("123.1234"));
		
		Address address = new Address();
		address.setaCode("41553");
		address.setAdd("北凉.凤");
		user.setAddress(address);
		Favorites favorites = new Favorites();
		favorites.setCites(Arrays.asList("杭州","北京"));
		favorites.setMovies(Arrays.asList("囧妈","北京欢迎您"));
		Comment comment1 = new Comment("太监", "我哪知道", new Date());
		Comment comment2 = new Comment("总管", "emmmmm", new Date());
		user.setComments(Arrays.asList(comment1,comment2));
		user.setFavorites(favorites);
		
		
		User user2 = new User();
		user2.setName("温不胜");
		user2.setCountry("CN");
		user2.setAge(23);
		user2.setLenght(1.70f);
		user2.setSalary(new BigDecimal("123.1234"));
		
		Address address2 = new Address();
		address2.setaCode("41553");
		address2.setAdd("北凉.胜");
		user2.setAddress(address2);
		Favorites favorites2 = new Favorites();
		favorites2.setCites(Arrays.asList("离阳","北京"));
		favorites2.setMovies(Arrays.asList("囧妈","北京欢迎您"));
		user2.setFavorites(favorites2);
		Comment comment3 = new Comment("太监", "我哪知道", new Date());
		Comment comment4 = new Comment("总管", "emmmmm", new Date());
		user2.setComments(Arrays.asList(comment3,comment4));
		Collection<User> insertAll = tempelate.insertAll(Arrays.asList(user,user2));
		for (User collects : insertAll) {
			//看一下写进数据库什么样的数据
			System.err.println(collects);
		}
	}
	
	@Test
	public void findTest(){
		List<User> findAll = tempelate.findAll(User.class);
		for (User user : findAll) {
			System.err.println(user);
		}
	}
	
	/**
	 * 更新
	 */
	@Test
	public void updateTest() {
		//1,先查出要更新的数据
		Query query = query(where("name").is("温不胜"));//来自于query包的静态导入
		Update update = new Update();//来自于update包的静态导入
		update.set("age",21);
		update.set("address.aCode", "123456");
		UpdateResult updateMulti = tempelate.updateMulti(query, update, User.class);
		System.out.println(updateMulti.getModifiedCount());
	}
	
	
	@Test
	public void deleteTest(){
		ExecutableRemove<User> remove = tempelate.remove(User.class);
		DeleteResult all = remove.all();
		System.out.println("--------------------->"+all.getDeletedCount());
	}
	
	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值