0.依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
1、配置连接application.properties
spring.application.name=spring-boot-mongodb-repository
spring.data.mongodb.uri=mongodb://106.54.196.44:27017/test
2、实例
package com.neo.model;
public class User {
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 "User{" +
"id=" + id +
", userName='" + userName + '\'' +
", passWord='" + passWord + '\'' +
'}';
}
}
3、Repository接口类
package com.neo.repository;
import com.neo.model.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository;
public interface UserRepository extends MongoRepository<User, Long> {
User findByUserName(String userName);
Page<User> findAll(Pageable var1);
}
findByUserName和findAll为自定义查询方法
4、测试增删改查+分页
package com.neo.repository;
import com.neo.model.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class RepositoryTest {
@Autowired
private UserRepository userRepository;
@Test
public void testSaveUser() throws Exception {
for (long i=0;i<100;i++) {
User user=new User();
user.setId(i);
user.setUserName("小明"+i);
user.setPassWord("fffooo123");
userRepository.save(user);
}
}
@Test
public void findUserByUserName(){
User user= userRepository.findByUserName("小明1");
System.out.println("user is "+user);
}
@Test
public void updateUser(){
User user=new User();
user.setId(2L);
user.setUserName("天空");
user.setPassWord("fffxxxx");
userRepository.save(user);
}
@Test
public void deleteUserById(){
userRepository.deleteById(2L);
}
@Test
public void testPage(){
Sort sort = new Sort(Sort.Direction.DESC, "id");
Pageable pageable = PageRequest.of(2, 10, sort);
Page page=userRepository.findAll(pageable);
System.out.println("users: "+page.getContent().toString());
}
}