• ​​1.配置与依赖​​
  • ​​2.实体与repository层​​
  • ​​3.测试​​

适合新手。

要求:安装好mongodb

代码和运行程序如下:

目录:

springboot整合mongodb增删改查入门_spring


springboot整合mongodb增删改查入门_spring_02

1.配置与依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
spring.data.mongodb.uri=mongodb://127.0.0.1:27017/test

2.实体与repository层

public class User implements Serializable {
private static final long serialVersionUID = -3258839839160856613L;
private Long id;
private String userName;
private String passWord;

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

public String getPassWord() {
return passWord;
}

public void setPassWord(String passWord) {
this.passWord = passWord;
}

@Override
public String toString() {
return "UserEntity{" +
"id=" + id +
", userName='" + userName + '\'' +
", passWord='" + passWord + '\'' +
'}';
}
}

Repository

public interface UserRepository {

public void saveUser(User user);

public User findUserByUserName(String userName);

public long updateUser(User user);

public void deleteUserById(Long id);

}

接口实现类

package com.neo.repository.impl;

import com.mongodb.client.result.UpdateResult;
import com.neo.repository.UserRepository;
import com.neo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;

/**
* Created by summer on 2017/5/5.
*/
@Component
public class UserRepositoryImpl implements UserRepository {

@Autowired
private MongoTemplate mongoTemplate;

/**
* 创建对象
* @param user
*/
@Override
public void saveUser(User user) {
mongoTemplate.save(user);
}

/**
* 根据用户名查询对象
* @param userName
* @return
*/
@Override
public User findUserByUserName(String userName) {
Query query=new Query(Criteria.where("userName").is(userName));
User user = mongoTemplate.findOne(query , User.class);
return user;
}

/**
* 更新对象
* @param user
*/
@Override
public long updateUser(User user) {
Query query=new Query(Criteria.where("id").is(user.getId()));
Update update= new Update().set("userName", user.getUserName()).set("passWord", user.getPassWord());
//更新查询返回结果集的第一条
UpdateResult result =mongoTemplate.updateFirst(query,update,User.class);
//更新查询返回结果集的所有
// mongoTemplate.updateMulti(query,update,UserEntity.class);
if(result!=null)
return result.getMatchedCount();
else
return 0;
}

/**
* 删除对象
* @param id
*/
@Override
public void deleteUserById(Long id) {
Query query=new Query(Criteria.where("id").is(id));
mongoTemplate.remove(query,User.class);
}
}

3.测试

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserRepositoryTest {

@Autowired
private UserRepository userDao;

@Test
public void testSaveUser() throws Exception {
User user=new User();
user.setId(2l);
user.setUserName("小明");
user.setPassWord("fffooo123");
userDao.saveUser(user);
}

@Test
public void findUserByUserName(){
User user= userDao.findUserByUserName("小明");
System.out.println("user is "+user);
}

@Test
public void updateUser(){
User user=new User();
user.setId(2l);
user.setUserName("天空");
user.setPassWord("fffxxxx");
userDao.updateUser(user);
}

@Test
public void deleteUserById(){
userDao.deleteUserById(1l);
}

}

运行testSaveUser

springboot整合mongodb增删改查入门_User_03


更新:

springboot整合mongodb增删改查入门_User_04