Spring Cloud Spring Boot mybatis分佈式微服務雲架構(二十四)使用MongoDB數據庫(2)

快速開始使用Spring-data-mongodb

若MongoDB的安裝配置採用默認端口,那麼在自動配置的狀況下,咱們不須要作任何參數配置,就能立刻鏈接上本地的MongoDB。下面直接使用spring-data-mongodb來嘗試對mongodb的存取操做。(記得mongod啓動您的mongodb)html

  • 建立要存儲的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
    
    }

     

  • 實現User的數據訪問對象:UserRepository
    public interface UserRepository extends MongoRepository<User, Long> {
    
        User findByUsername(String username);
    
    }

     

  • 在單元測試中調用
    @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());
    
    	}
    
    }

    參數配置

    經過上面的例子,咱們能夠垂手可得的對MongoDB進行訪問,可是實戰中,應用服務器與MongoDB一般不會部署於同一臺設備之上,這樣就沒法使用自動化的本地配置來進行使用。這個時候,咱們也能夠方便的配置來完成支持,只須要在application.properties中加入mongodb服務端的相關配置,具體示例以下:spring

    spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/test

    在嘗試此配置時,記得在mongo中對test庫建立具有讀寫權限的用戶(用戶名爲name,密碼爲pass),不一樣版本的用戶建立語句不一樣,注意查看文檔作好準備工做mongodb

    若使用mongodb 2.x,也能夠經過以下參數配置,該方式不支持mongodb 3.x。服務器

    spring.data.mongodb.host=localhost spring.data.mongodb.port=27017

    源碼來源app

相關文章
相關標籤/搜索