• Spring Boot MongoDB JPA 简化开发


     

    使用SpringBoot提供的@Repository接口,可以完成曾经需要大量代码编写和配置文件定制工作。这些以前让新手程序员头疼,让有经验的程序员引以为傲的配置,由于框架的不断完善,变得不那么重要,同时,也提升了程序员的工作效率。

    本文介绍的是如何通过springboot操作MongoDB。

    一.先配置pom.xml

    复制代码
    <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.4.1.RELEASE</version>
            <relativePath /> <!-- lookup parent from repository -->
    </parent>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-mongodb</artifactId>
            </dependency>
        </dependencies>
    复制代码

    二.在application.properties中配置MongoDB配置

    spring.data.mongodb.uri=mongodb://root:root@localhost:27017/test

    三.声明entity和repository

    复制代码
    @Document(collection = "t_app")
    @Data
    public class App
    {
        @Id
        private ObjectId id;
        @Field("api_key")
        private String apiKey;
        private String appname;
        private List<Object> activities;
    }
    复制代码
    @Repository
    public interface AppRepository extends MongoRepository<App, ObjectId>
    {
        App findOneByApiKey(String apiKey);
    }

    四.支持的Repository

    image

    image

    ps:KeyWord可以用and方法连起来。

    如:

    List<DiscountCode> findFirst5ByActivityIdInAndEndTimeAfterAndStatus(List<ObjectId> activityIds, Date endTime,String status);

    五.Repository声明和使用

    @Autowired
    private AppRepository appRepository;
     
  • 相关阅读:
    Go Revel
    Go Revel
    Go Revel
    Go Revel
    deployment:声明式的升级应用
    Kubernetes架构及相关服务详解
    Docker 安装MySQL
    日志收集-Elk6
    Jenkins-Multijob plugin多任务串并行
    ansible创建vmware虚拟机
  • 原文地址:https://www.cnblogs.com/williamjie/p/9360589.html
Copyright © 2020-2023  润新知