本文将从工程的建立到mongo的使用进行讲解。
仅选择Spring Web、Spring Data MongoDB即可


到此工程建立完毕,就会建立一个mongo基础的java工程了。
-
-
org.springframework.boot -
spring-boot-starter-data-mongodb -
-
-
org.springframework.boot -
spring-boot-starter-web -
-
-
-
org.springframework.boot -
spring-boot-starter-test -
test -
-
-
-
org.projectlombok -
lombok -
true -
-
如果是第一次使用mongo,需要创建用户
- > use mydb
- switched to db mydb
- > db.createUser({user:"user", pwd:"123456", roles:[{role:"readWriteAnyDatabase", db:"mydb"}]});
- Successfully added user: {
- "user" : "user",
- "roles" : [
- {
- "role" : "readWriteAnyDatabase",
- "db" : "mydb"
- }
- ]
- }
-
momgo权限

配置文件。根据自己的实际库名称将properties配置完整。
- spring.data.mongodb.authentication-database=mydb
-
- spring.data.mongodb.host=127.0.0.1
-
- spring.data.mongodb.port=27017
-
- spring.data.mongodb.username=user
-
- spring.data.mongodb.password=password
-
- # 指定使用的数据库
- # 不必预先创建,不存在该数据库会自动创建
- spring.data.mongodb.database=db_user
- @NoArgsConstructor
- @AllArgsConstructor
- @Accessors(chain = true)
- @Data
- public class User {
-
- @Id
- private String id;
- public String name;
- private String age;
- }
在dao层里面创建自己需要的方法。本次将增删改查方法列出来
- public interface UserDao {
-
- //增加
- void saveStu(User user);
-
- //删除
- void deleteUser(String id);
-
- //修改
- void updateUser(User user);
-
- //根据id获取user
- User getUserById(String id);
-
- //获取全部user
- List
getAllUser(); -
- }
- @Repository
- public class UserService implements UserDao {
-
- @Resource
- private MongoTemplate mongoTemplate;
-
- @Override
- public void saveStu(User user) {
- mongoTemplate.save(user);
- }
-
- @Override
- public void deleteUser(String id) {
- User user = mongoTemplate.findById(id,User.class);
- mongoTemplate.remove(user);
- }
-
- @Override
- public void updateUser(User user) {
- mongoTemplate.save(user);
- }
-
- @Override
- public User getUserById(String id) {
- return mongoTemplate.findById(id,User.class);
- }
-
- @Override
- public List
getAllUser() { - return mongoTemplate.findAll(User.class);
- }
- }
- @SpringBootTest
- @Slf4j
- class MongoTestApplicationTests {
-
- @Resource
- private UserDao userDao;
-
- //插入十个user实例
- @Test
- void contextLoads() {
- for (int i = 0; i<10;i++ ){
- User user = new User()
- .setId(String.valueOf(i+1))
- .setName("小明")
- .setAge("10");
- log.info("名字============{}", user);
- userDao.saveStu(user);
- }
- }
- //删除id为2的user
- @Test
- void deleteUser(){
- userDao.deleteUser("2");
- }
-
- //修改
- @Test
- void updateUser(){
- User user = userDao.getUserById("3");
- //将id为3的user的age修改为20
- user.setAge("20");
- userDao.updateUser(user);
- }
-
- //根据id获取user
- @Test
- void getUserById(){
- User user = userDao.getUserById("5");
- log.info("id=5的用户为=================:{}",user);
- }
-
- void getAllUser(){
- List
list = userDao.getAllUser(); - list.forEach(System.out::println);
- }
-
- }
1、db_user库开始的时候并没有。随着我们对db_user做操作,这个库相应生成
第一部分是之前的库名,下面部分是执行save操作后生成的库。

2、save操作生成的user。是根据代码生成的十个user实例

3、删除id为2的user,图中可以看出已经删除
4、修改id为3的user的age为20,图中可以看到已经修改

5、根据id获取id=5的user,图中可以看到已经获取到

6、获取所有user,图中可以看到都已获取到

以上就是springboot整合mongodb的完整使用。按照这个流程来一遍吧!