1.引入依赖
2.1如果应用服务器和mongoDB在同一台服务器
MongoDB的安装配置采用默认端口,那么在自动配置的情况下,我们不需要做任何参数配置,就能马上连接上本地的MongoDB。
2.2创建要存储的User实体,包含属性:id、username、age
public class User {
@Id
private Long id;
private String username;
private Integer age;
public User(Long id, String username, Integer age) {
this.id = id;
this.username = username;
this.age = age;
}
// 省略getter和setter
}
2.3实现User的数据访问对象:UserRepository
public interface UserRepository extends MongoRepository<User, Long> {
User findByUsername(String username);
}
2.4使用
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(Application.class)
public class ApplicationTests {
@Autowired
private UserRepository userRepository;
@Before
public void setUp() {
userRepository.deleteAll();
}
@Test
public void test() throws Exception {
// 创建三个User,并验证User总数
userRepository.save(new User(1L, "didi", 30));
userRepository.save(new User(2L, "mama", 40));
userRepository.save(new User(3L, "kaka", 50));
Assert.assertEquals(3, userRepository.findAll().size());
// 删除一个User,再验证User总数
User u = userRepository.findOne(1L);
userRepository.delete(u);
Assert.assertEquals(2, userRepository.findAll().size());
// 删除一个User,再验证User总数
u = userRepository.findByUsername("mama");
userRepository.delete(u);
Assert.assertEquals(1, userRepository.findAll().size());
}
}
3.1如果应用服务器和mongoDB不在同一台服务器
需要在application.properties中加入mongodb服务端的相关配置,具体示例如下
spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/test
3.2在尝试此配置时,记得在mongo中对test库创建具备读写权限的用户(用户名为name,密码为pass),不同版本的用户创建语句不同,注意查看文档做好准备工作
若使用mongodb 2.x,也可以通过如下参数配置,该方式不支持mongodb 3.x。
spring.data.mongodb.host=localhost spring.data.mongodb.port=27017