专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

springboot项目中使用mongodb数据库开发应用

1、安装并启动mongodb,方法如:https://my.oschina.net/lion1220/blog/3151024

74_1.png

2、创建项目,并导入mongodb jar包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

3、properties文件中添加配置项

spring.data.mongodb.uri=mongodb://localhost:27017
spring.data.mongodb.database=test
spring.data.mongodb.username=admin
spring.data.mongodb.password=admin123

4、编写MongoDB配置类

@Configuration
public class MongoConfig {
    @Bean
    MongoTransactionManager transactionManager(MongoDbFactory dbFactory) {
        return new MongoTransactionManager(dbFactory);
    }
}

5、编写dao

@Repository
public interface GoodsRepository extends MongoRepository<Goods,String> {
}

6、编写service

@Service
public class GoodsServiceImpl implements IGoodsService {

    @Autowired
    private GoodsRepository goodsRepository;
    @Autowired
    private MongoOperations mongoOperations;
    @Autowired
    private MongoTemplate mongoTemplate;

    @Override
    public Goods findById(String id) {
        return goodsRepository.findById(id).get();
    }

    @Override
    public Goods save(Goods blog) {
        return goodsRepository.save(blog);
    }

    @Override
    public void delete(Goods blog) {
        goodsRepository.delete(blog);
    }

    @Override
    public void deleteById(String id) {
        goodsRepository.deleteById(id);
    }

    @Override
    public long update(Goods blog) {
        UpdateResult result = mongoOperations.upsert(new Query(new Criteria("id").is(blog.getId())),
                new Update().set("goodsName", blog.getGoodsName()), Goods.class);
        return result.getModifiedCount();
    }

    @Override
    public List<Goods> findByShopName(String goodsName) {
        Goods goods = new Goods();
        goods.setGoodsName(goodsName);
        ExampleMatcher matcher = ExampleMatcher.matching();
        Example<Goods> example = Example.of(goods, matcher);
        return goodsRepository.findAll(example);
    }

    @Override
    public Page<Goods> findAll(Goods blog, Pageable pageable) {
        ExampleMatcher matcher = ExampleMatcher.matching();
        Example<Goods> example = Example.of(blog, matcher);
        Sort.Order order = Sort.Order.asc("salePrice");
        Sort sort = Sort.by(order);
        PageRequest pageRequest = PageRequest.of(pageable.getPageNumber() - 1, pageable.getPageSize(), sort);
        return goodsRepository.findAll(example, pageRequest);
    }
}

7、测试数据库操作

74_2.png

8、源码示例:https://gitee.com/lion123/springboot-mongodb-demo

文章永久链接:https://tech.souyunku.com/24967

未经允许不得转载:搜云库技术团队 » springboot项目中使用mongodb数据库开发应用

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们