使用idea搭建springboot项目教程
- 打开idea新建一个springboot项目
- 点击file选择New、再选择Project
- 在New Project界面先选择 Spring Initializr 再选择自己安装的jdk,点击Next
- 填写自己的项目名称以及项目的group,点击next
- 选择自己需要的组件,点击next
- 选择自己的安装路径,点击finish,创建项目
- 添加自己需要使用的pom依赖后,这是我的pom文件内容
- 配置application.yml
- 为了减少底层代码的编写使用了mybatis逆向工程
- 如果需要使用swagger接口文档,可以加入swagger配置(pom文件已有相关依赖项),不需要可以忽略
- 创建基本的项目目录结构,通过逆向工程生成底层方法
打开idea新建一个springboot项目
点击file选择New、再选择Project
在New Project界面先选择 Spring Initializr 再选择自己安装的jdk,点击Next
填写自己的项目名称以及项目的group,点击next
选择自己需要的组件,点击next
选择自己的安装路径,点击finish,创建项目
添加自己需要使用的pom依赖后,这是我的pom文件内容
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.liu</groupId>
<artifactId>mpm</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>mpm</name>
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<!--druid数据库连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
<!--数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--springboot的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- 第一种热部署方式 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>true</scope>
<optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>
<!-- mybatis逆向工程jar包 -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
<!--swagger接口文档-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
<!--启动器依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</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>
</dependencies>
<!--将所有应用启动运行所需要的jar包都包含进来,如果不添加,springboot项目用到的所有有关springboot依赖都无法打包。-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- mybatis 逆向工程maven工具, -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
</dependencies>
<configuration>
<!--配置文件的路径 -->
<configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
</project>
配置application.yml
server:
port: 8082
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://localhost:3306/vhr?useUnicode=true&characterEncoding=utf-8
username: root
password: root
mybatis:
type-aliases-package: com.liu.mpm.mapper
mapper-locations: classpath:mapper/*.xml
# pagehelper分页插件
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
启动项目成功
为了减少底层代码的编写使用了mybatis逆向工程
创建这样的目录结构,在resources下创建mybatis-generator文件夹并创建generatorConfig.properties配置文件和generatorConfig.xml文件
generatorConfig.properties配置文件
jdbc_driverPath=D:\\development\\maven\\repository\\work\\mysql\\mysql-connector-java\\5.1.48\\mysql-connector-java-5.1.48.jar
jdbc_driverClassName=com.mysql.jdbc.Driver
jdbc_url=jdbc:mysql://localhost:3306/vhr?useUnicode=true&characterEncoding=utf-8
jdbc_username=root
jdbc_password=root
targetProject=D:/workroom/idearoom/myproject/mpm/src/main/java
itemname=menu
objectname=Menu
modelPackage=com.liu.mpm.entity
mapperPackage=com.liu.mpm.mapper
mappingPackage=mapper
MappingtargetProject=D:/workroom/idearoom/myproject/mpm/src/main/resources
generatorConfig.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<properties resource="mybatis-generator/generatorConfig.properties" ></properties>
<classPathEntry location="${jdbc_driverPath}" />
<context id="my" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="false" />
<!-- 下面一行用于取消注释的生成 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection driverClass="${jdbc_driverClassName}" connectionURL="${jdbc_url}" userId="${jdbc_username}" password="${jdbc_password}" />
<javaModelGenerator targetPackage="${modelPackage}" targetProject="${targetProject}">
<property name="enableSubPackages" value="false" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="${mappingPackage}" targetProject="${MappingtargetProject}">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<javaClientGenerator targetPackage="${mapperPackage}" targetProject="${targetProject}" type="XMLMAPPER">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!--schema数据库名,tableName表名,domainObjectName生成的Dao名-->
<table tableName="${itemname}" domainObjectName="${objectname}"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
<!--<columnRenamingRule searchString="^D_" replaceString=""/> -->
</table>
</context>
</generatorConfiguration>
如果需要使用swagger接口文档,可以加入swagger配置(pom文件已有相关依赖项),不需要可以忽略
在src/java/com/liu/mpm目录下创建config文件夹,在文件夹下创建SwaggerConfig.class文件
SwaggerConfig
//swagger2的配置文件,在项目的启动类的同级文件建立
@Configuration
@EnableSwagger2
//是否开启swagger,正式环境一般是需要关闭的(避免不必要的漏洞暴露!),可根据springboot的多环境配置进行设置
//@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
// swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
return new Docket(DocumentationType.SWAGGER_2)
.pathMapping("/")
.select()
.apis(RequestHandlerSelectors.basePackage("com.liu.mpm.controller"))
.paths(PathSelectors.any())
.build().apiInfo(new ApiInfoBuilder()
// 页面标题
.title("SpringBoot整合Swagger")
// 描述
.description("SpringBoot整合Swagger,详细信息......")
// 版本号
.version("9.0")
// 创建人信息
.contact(new Contact("liu", "ruisiming.com", "liu.songli@ruisiming.com"))
//许可证
.license("The Apache License")
.licenseUrl("http://www.baidu.com")
.build());
}
}
启动项目访问http://localhost:8082/swagger-ui.html
创建基本的项目目录结构,通过逆向工程生成底层方法
根据generatorConfig.properties的内容
怎么样生成底层方法呢,需要这样
然后你看你的项目resources/mapper下
java/src/com/liu/mpm/下的mapper和model下就有相对应的对象和方法