idea构建聚合工程,整合SpringBoot,数据层使用HikariCP与MyBatis
构建聚合工程
- 第一步
- 1 Create New Project
Create New Project
- 2. 选择Maven,直接点解next
- 3.填写项目名称,点击next
- 4.点击finish
- 第二步
pojo子工程,
mapper子工程(使用的是mybatis)
service子工程
api接口子工程,用于接受用户的请求(控制层)
2.1 子工程之间相互依赖
子工程之间相互依赖:pojo依赖common
mapper依赖pojo
service依赖mapper
-
- 2.2 有了上面的依赖关系之后,各个系统之间还不能直接调用,需要install一下:在root工程下双击install,执行成功之后子模块的依赖关系就真正存在了。
- 第三步
在主工程当中加入子工程,prom.xml文件中加入以下代码
<modules> <module>foodie-dev-common</module> <module>foodie-dev-pojo</module> <module>foodie-dev-mapper</module> <module>foodie-dev-service</module> <module>foodie-dev-api</module> </modules>
最终效果
整合SpringBoot
在api项目中新建一个yml文件,一个启动类
yml文件:这里配置的端口号为8088,可以自行修改
############################################################ # # web访问端口号 约定:8088 # ############################################################ server: port: 8088 tomcat: uri-encoding: UTF-8 max-http-header-size: 80KB ############################################################
启动类代码:
@SpringBootApplication //此时只需要这个注解,下面的注解暂时用不到 // 扫描Mybatis通用的mapper所在的包 @MapperScan(basePackages = "com.imooc.mapper") // 扫描所有包以及相关组件包 @ComponentScan(basePackages = {"com.imooc","org.n3r.idworker"}) //@EnableTransactionManagement开启事物,这里可写可不写 @EnableScheduling //开启定时任务 public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
数据层HikariCP与MyBatis整合
pom.xml中添加依赖,
<!-- mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.41</version> </dependency> <!-- mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.0</version> </dependency>
api中的yml文件需要配置:
############################################################ # # 配置数据源信息 # ############################################################ spring: datasource: # 数据源的相关配置 type: com.zaxxer.hikari.HikariDataSource # 数据源类型:HikariCP driver-class-name: com.mysql.jdbc.Driver # mysql驱动 url: jdbc:mysql://localhost:3306/foodie-shop-dev?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true username: root password: 123456 hikari: connection-timeout: 30000 # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒 minimum-idle: 5 # 最小连接数 maximum-pool-size: 20 # 最大连接数 auto-commit: true # 自动提交 idle-timeout: 600000 # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟 pool-name: DateSourceHikariCP # 连接池名字 max-lifetime: 1800000 # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000ms connection-test-query: SELECT 1 ############################################################ # # mybatis 配置 # ############################################################ mybatis: type-aliases-package: com.imooc.pojo # 所有POJO类所在包路径 mapper-locations: classpath:mapper/*.xml # mapper映射文件
配置完成之后点击install,之后启动启动类,页面可以访问:localhost:8088