创建SpringBoot项目
新建SpringBoot
- new project -> 选择你需要的工具包
工具包:
- Tools
- devtools(热部署)
- lombok(自动set,get方法生成)
- web
- Spring Web
- SQL
- Mysql Driver(数据库驱动)
- JPA(生成entity)
-
设置文件名
-
数据库连接池(可到 mvn 下载新版进行替换)
<!-- druid数据库连接池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version> </dependency>
-
properties配置
#数据源配置 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource #spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/powermanage?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai spring.datasource.username=root spring.datasource.password=12345678 spring.datasource.initialSize=20 spring.datasource.minIdle=50 spring.datasource.maxActive=500 #上下文配置 server.port=8080 #设置初始url地址 #server.servlet.context-path=/stu #配置jpa #自动生成表结构 spring.jpa.properties.hibernate.hbm2ddl.auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.show-sql= true spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true #swagger报错问题 spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER # 解决mysql表字段和实体类属性名不对应的问题,比如mysql中使用的是 user_id,在实体类中写的是userId,这个配置会自动转化 mybatis.configuration.map-underscore-to-camel-case=true #扫描xml文件 mybatis.mapper-locations=classpath:mapper/*.xml
pom.xml中添加dependencies
-
定义lombok插件(已选择的话则无需添加)
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
-
定义mybatis依赖
<!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.1</version> </dependency>
-
Mybatis-plus依赖
<!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency>
使用mybatis-plus时需要在启动项加上:
@MapperScan("com.example.eva.dao")
-
swagger配置
<!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency> <!-- 引入swagger-bootstrap-ui包 --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.8.5</version> </dependency>
pom.xml中添加build
如果xml文件位于resources目录下,只需添加扫描(注意看文件位置)
#Mybatis扫描包
mybatis.mapper-locations=classpath:*/mapper/*.xml
文件扫描(在pom.xml -> build模块中添加)适用于将xml文件放在java下的情况:
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
Tips(Some Questions):
-
页面始终报错404
解决方案:排查springboot启动项目位置,将其移动到主文件夹下
-
service层调用Autowired Mapper报错
解决方案:为mapper层添加注解
@Repository @Mapper
-
controller层无法获取service层bean
解决方案:查看service层是否添加@Service注解
注解
-
Controller
@RestController @RequestMapping("/stu")
-
Service
@Service
-
Mapper
@Repository @Mapper
sqlurl:
?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true