标签:row 包含 分享 数据库 setup code 读写 bsp data
若MongoDB的安装配置采用默认端口,那么在自动配置的情况下,我们不需要做任何参数配置,就能马上连接上本地的MongoDB。下面直接使用spring-data-mongodb
来尝试对mongodb的存取操作。(记得mongod启动您的mongodb)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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 } |
1
2
3
4
5
|
public interface UserRepository extends MongoRepository<User, Long> { User findByUsername(String username); } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
@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服务端的相关配置,具体示例如下:
1
|
spring.data.mongodb.uri=mongodb: //name:pass@localhost:27017/test |
在尝试此配置时,记得在mongo中对test库创建具备读写权限的用户(用户名为name,密码为pass),不同版本的用户创建语句不同,注意查看文档做好准备工作
若使用mongodb 2.x,也可以通过如下参数配置,该方式不支持mongodb 3.x。
1
|
spring.data.mongodb.host=localhost spring.data.mongodb.port= 27017 |
标签:row 包含 分享 数据库 setup code 读写 bsp data
原文地址:https://www.cnblogs.com/MaxElephant/p/10239895.html