springboot操作mongodb

1、引入依赖:

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
        <!-- 引入lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-test</artifactId>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>

    </dependencies>

 

2、mongodb连接信息配置

1 server.port=9595
2 spring.data.mongodb.host=127.0.0.1
3 spring.data.mongodb.port=27017
4 spring.data.mongodb.database=admin #数据库无需预先创建,程序会自动创建

3、创建User实体类

@Data
public class User {
    @Id
    private String _id;

    private String _address;

    private String _sex;

    private String _name;

    private Integer _age;

    private String _job;

    private String _phone;

    private Date _resgisterTime;

    private List<String> _confidant;

    private List<Role> _roles;

    @Data
    public static class Role{
        private String roleName;
    }

4、dao创建

import com.zyx.demo.entity.User;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

/*
 * dao层
 * 这种写法不需要写实现类
 *
 * MongoRepository<行对应的对象类型, 主键列类型>
 * */
@Repository
public interface UserDao extends MongoRepository<User,String> {

}

5、controller调dao

import com.zyx.demo.dao.UserDao;
import com.zyx.demo.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@RestController
public class UserController {
    @Autowired
    private UserDao userDao;

    @GetMapping("/addUser")
    public void addUser(){
        List<String> confidants=new ArrayList<>();
        confidants.add("卫介");
        confidants.add("潘安");
        for(int i=0;i<10;i++){
            User user=new User();
            user.set_name("小明"+i);
            user.set_address("猎户臂");
            user.set_phone("18190897856");
            user.set_job("程序员");
            user.set_age(i);
            user.set_resgisterTime(new Date());
            List<User.Role> roleList=new ArrayList<>();
            User.Role role=new User.Role();
            role.setRoleName("1");
            roleList.add(role);
            user.set_roles(roleList);
            user.set_confidant(confidants);
            userDao.save(user);

        }
    }
}

查看新增结果

 

posted @ 2022-07-14 17:17  smellycats  阅读(580)  评论(0)    收藏  举报