创建 Spring Boot + QueryDSL + Hibernate + Mysql 项目

本文档详细介绍了如何使用Intellij IDEA创建一个Spring Boot项目,包括添加依赖如Spring Web、QueryDSL、Hibernate、Swagger等,并展示了如何配置开发与生产环境的YAML文件。此外,还提及了通过Maven生成QueryDSL对应的类以及打包成可执行Jar包的过程。
摘要由CSDN通过智能技术生成

1、创建项目

打开Intellij IDEA 软件,选择File -> New ->Project 开始创建项目,如下图

创建项目第一步

会弹出如下框:

按照图中选择点击进入下一步,如下图:

修改自己需要修改的内容,点击NEXT 进入下一步

如上图中操作,然后点击NEXT:

将相关内容修改完成,点击FINISH 开始项目的创建,待项目创建完成之后其目录结构如下图:

然后在pom.xml中添加相应包

    <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>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--查询框架-->
        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-apt</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-jpa</artifactId>
        </dependency>
        <!--对象关系映射框架-->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.4.10.Final</version>
        </dependency>
        <!--引入spring-boot-jap-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <!--一个无需写get和set得注解插件-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!--数据库连接-->
        <!--高版本数据库连接-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!--  <dependency>
              <groupId>mysql</groupId>
              <artifactId>mysql-connector-java</artifactId>
              <scope>runtime</scope>
              <version>5.1.37</version>
          </dependency>-->
        <!--接口文档 swagger -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.8.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.8.0</version>
        </dependency>
        <!--增强版 swagger-->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.9.6</version>
        </dependency>
        <!--JWT实现登录认证-token-->
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>3.4.0</version>
        </dependency>
        <!--生成md密钥-->
        <dependency>
            <groupId>bouncycastle</groupId>
            <artifactId>bcprov-jdk16</artifactId>
            <version>140</version>
        </dependency>
        <!--生成 aop -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
        </dependency>
       <!-- <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <!--文件上传需要的包-->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!-- 配置 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.56</version>
        </dependency>
    </dependencies>
  <build>
        <finalName>SBSCSystem</finalName>
        <plugins>
            <!--插件,可以将应用打包成一个可执行的jar包-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.sbsc.org.SbscSystemApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!--配置生成 QueryDsl查询-->
            <plugin>
                <groupId>com.mysema.maven</groupId>
                <artifactId>apt-maven-plugin</artifactId>
                <version>1.1.3</version>
                <executions>
                    <execution>
                        <id>pro</id>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>target/generated-sources/java</outputDirectory>
                            <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>com.querydsl</groupId>
                        <artifactId>querydsl-apt</artifactId>
                        <version>${querydsl.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

然后再application.yml中添加相应配置内容(application.yml是配置文件),但是为了方便我们的管理,可以创建一个application-dev.yml(开发版配置文件) 和 application-prod.yml(正式版配置文件) 然后在application.yml里面却换相应版本配置文件即可,具体如下:

application.yml文件内容:

spring:
  profiles:
    active: dev # 这是开发版本

application-dev.yml 文件内容如下:

# 这个仅仅是一个 研发 配置环境
server:
  port: 8085 # 重新设置端口号
  servlet:
    context-path: /sbscSystem    # 重新设置访问路径   http://localhost:8082/Demo/hello
  tomcat: # 配置token
    uri-encoding: UTF-8
    max-connections: 10000 # 最大链接数
    threads:
      max: 300
# 数据库操作
spring:
  datasource: # 资源配置
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&autoRec  # 配置链接本地数据库
    username: admin # 数据库用户名
    password: admin # 数据库密码
  jackson:
    time-zone: GMT+8
    date-format: yyyy-MM-dd HH:mm:ss # 全局时间格式化
  jpa:
    #配置数据库类型
    database: mysql
    properties: # 配置使用原生sql语句
      hibernate:
        current_session_context_class: org.springframework.orm.hibernate5.SpringSessionContext
    hibernate:
      ddl-auto: update
    show-sql: true # 设置在控制台显示sql语句
  servlet:
    multipart:
      enabled: true # 开启multipart 上传功能
      file-size-threshold: 2KB # 文件写入磁盘的阙值
      max-file-size: 200MB # 最大文件大小
      max-request-size: 215MB # 最大请求大小
  application:
    name: Demo

## 文佳存储的所需参数
file: # 所有通过 REST APIS 上传的文件都将存储在此目录下
  upload-dir: ./uploads

其中application-prod.yml的内容基本与application-dev.yml的一致,有改变的就是数据库的连接地址,所以我在这里就不贴出来啦

2、如何通过Maven生成Q对应的类呢?

如下图,选中相应内容,点击运行按钮,即可生成Q对应类

3、如何生成可运行Jar包呢?

如下图

下一篇介绍下关于QueryDSL的用法

未完,待续.........

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逍遥Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值