SpringBoot集成MongoDB

环境

1.安装好MongoDB
2.maven改造成SpringBoot项目或者直接创建SpringBoot项目

集成springboot

依赖

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.3</version>
        <relativePath/>
    </parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>    
    
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    <!--spring boot data mongodb-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
</dependencies>
# application.properties
# 配置数据库连接
#格式: mongodb://账号:密码@ip:端口/数据库?认证数据库
#spring.data.mongodb.uri=mongodb://root:admin@localhost/mongodemo?authSource=admin
spring.data.mongodb.uri=mongodb://localhost/mongodemo
# 配置MongoTemplate的执行日志
logging.level.org.springframework.data.mongodb.core=debug

domain

@AllArgsConstructor
@NoArgsConstructor
@Setter
@Getter
@ToString
@Document("users") //设置文档所在的集合
public class User {
    //文档的id使用ObjectId类型来封装,并且贴上@Id注解,
    // 自动映射为_id 自动封装ObjectId
    @Id
    private String id;
    private String name;
    private Integer age;
    private List<String> hobby = new ArrayList<>();
}
继承接口:MongoRepository
@Repository
public interface UserMongoRepository extends MongoRepository<User, String> {
    // 使用Spring Data命名规范做高级查询
    List<User> findByName(String name);
}
public interface IUserService {
    void save(User user);
    void delete(String id);
    void update(User user);
    User get(String id);
    List<User> list();
}
@Service
public class UserServiceImpl  implements IUserService{
    @Autowired
    private UserRepository userRepository;
    @Override
    public void save(User user) {
        userRepository.save(user);
    }
    @Override
    public void delete(String id) {
        userRepository.deleteById(id);
    }
    @Override
    public void update(User user) {
        userRepository.save(user);
    }
    @Override
    public User get(String id) {
        return userRepository.findById(id).get();
    }
    @Override
    public List<User> list() {
        return userRepository.findAll();
    }
}
--------------------------------------------------------------
@SpringBootTest
public class UserTest {
    @Autowired
    private IUserService userService;
    @Test
    public void testSave(){
        User user = new User();
        user.setId(21L);
        user.setName("小");
        user.setAge(18);
        userService.save(user);
    }
    @Test
    public void testUpdate(){
        User user = new User();
        user.setId("5de507fca0852c6c7ebc1eac");
        user.setId(21L);
        user.setName("xiaoming");
        user.setAge(18);
        userService.update(user);
    }
    @Test
    public void testDelete(){
        userService.delete("5de507fca0852c6c7ebc1eac");
    }
    @Test
    public void testGet(){
        System.out.println(userService.get("5de507fca0852c6c7ebc1eac"));
    }
    @Test
    public void testList(){
        System.out.println(userService.list());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值