当前位置:网站首页 > Java基础 > 正文

idea创建java的maven聚合工程

一、创建聚合工程

1.创建父工程

(1)点击create new project

(2)如图选择maven,左边选择maven,右边选择project SDK ,不选择create from archetype(maven模版,不用选择)

(3) 创建groupId和ArtifactId,点击下一步

(4)默认没有横杠,改成横杠,如图

 (5)生成父项目完成,在pom中加上:

<packaging>pom</packaging>

2.构建common

(1)右键父项目,新建module,如图

(2)选择maven,和父项目一样

 (3)输入ArtifactId(子工程名字),点击下一步

(4) Module名加上横杠(默认省略了横杠)

(5) 子工程(默认的打包方式就是jar)

 (6)父工程pom自动多了一个module

3.构建pojo(实体层,关联数据库的数据表),如common构建过程(pojo依赖common),在pom里面添加依赖,如图:

4.创建mapper子工程(数据层),依赖pojo,pojo依赖common,mapper自动就依赖了common,如图

5.创建service,依赖mapper,自动就依赖了pojo和common,如图:

6.创建api(对外接口)依赖service,自动依赖了mapper,pojo,common,如图:

综上,聚合工程就完成了。

备注:

1.集合工程里可以顶级项目和子项目,这两者的关系就是父与子的关系。子工程在maven里面就是module,模块之间是平级的,相互依赖的。 

2.子模块可以使用顶级工程里面的所有资源(依赖),子模块之间如果要使用资源,必须构建依赖(构建关系)

3.一个顶级工程可以由多个子工程共同组合而成

二、聚合工程整合springBoot

1.在父工程引入依赖parent

 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.5.RELEASE</version> <relativePath /> </parent>

2.在父工程设置资源属性

 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties>

3.在父工程引入dependency基础依赖 (版本号都是由父级spring-boot-starter-parent管理的,不需要再引入了)

 <dependencies> <!--spring基础--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <!--web模块--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--加载除yml的xml,properties等配置文件--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> </dependencies> 

4.再api模块创建application.yml配置文件和包和Application启动类,并在启动类里加入如下代码

@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class,args); } }

5.创建controller包和controller(右键Application启动)

注:启动可能会报错,请确认项目结构中的个jdk是否是1.8。然后确认基础属性Perfernces里面的java complier设置是否是javac和8,如下图: 

6.访问localhost:8080/hello,如图 

 三、配置数据源hikaricp和mybaties整合(springBoot2.x默认数据源hikaricp,非常高性能)github:https://github.com/brettwooldridge/HikariCP

1.父工程pom中引入数据源驱动与mybatis依赖

 <!--  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>

2.在api子项目的Application.yml中配置数据源和mybatis以及tomcat

 # # web访问端口号 约定:8888 # server: port: 8888 tomcat: uri-encoding: UTF-8 max-http-header-size: 80KB # # 配置数据源信息 # spring: datasource: # 数据源的相关配置 type: com.zaxxer.hikari.HikariDataSource # 数据源类型:HikariCP driver-class-name: com.mysql.jdbc.Driver # mysql驱动 url: jdbc:mysql://localhost:3306/shop?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&useAffectedRows=true&zeroDateTimeBehavior=convertToNull username: root password: root1234 hikari: connection-timeout: 30000 # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQ minimum-idle: 5 # 最小连接数 maximum-pool-size: 20 # 最大连接数(4核 10 8核 20,作者建议最大最小保持一致,固定) auto-commit: true # 自动提交 idle-timeout:  # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟 pool-name: DateSourceHikariCP # 连接池名字 max-lifetime:  # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 connection-test-query: SELECT 1 # # mybatis 配置 # mybatis: type-aliases-package: com.unhejing.pojo # 所有POJO类所在包路径 mapper-locations: classpath:mapper/*.xml # mapper映射文件 # # mybatis mapper 配置 # # 通用 Mapper 配置 mapper: mappers: com.unhejing.my.MyMapper not-empty: false #在进行数据库操作的时候,判断表达式username != null,是否在后面追加 username != '',一般手写就写false,追加就写true。 identity: MYSQL 

3.在pojo模块java目录下中创建包:com.unhejing.pojo,在mapper模块下java目录下mapper中创建包:com.unehing.mapper,在mapper模块下resources下创建目录mapper(对应配置文件mybaties的配置),如下图:

 四、MyBates逆向生成工具(MyBaties-generator集成MyMapper插件)

1. 在父项目pom中引入通用mapper工具

 <!-- 通用mapper逆向工具 --> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.1.5</version> </dependency>

2.在api子项目Application.yml中引入通用mapper配置

 # # mybatis mapper 配置 # # 通用 Mapper 配置 mapper: mappers: com.unhejing.my.mapper.MyMapper not-empty: false #在进行数据库操作的时候,判断表达式username != null,是否在后面追加 username != '',一般手写就写false,追加就写true。 identity: MYSQL

3.在mapper层创建com.unhejing.my.MyMapper,Mapper文件源码。

package com.unhejing.my.mapper; import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.MySqlMapper; / * 继承自己的MyMapper */ public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> { } 

4.根据逆向工具生成MyBaties代码

代码github地址:https://github.com/unhejing/mybatis-generator-for-unhejing

到此这篇idea创建java的maven聚合工程的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 线上一次排错:JAVA程序占用CPU超过100%2024-12-03 14:27:06
  • java使用AOP切面获取请求日志并记录2024-12-03 14:27:06
  • windows下启动了多个java,杀死指定进程2024-12-03 14:27:06
  • 葵司JAVA25_[PAT] 1012 The Best Rank (25 分)Java2024-12-03 14:27:06
  • OSHI 是一个免费的基于 JNA(本机)的 Java 操作系统和硬件信息库2024-12-03 14:27:06
  • macbook安装低版本的jdk,提示“Oracle 的 Java 要求 Mac OS X 10.7.3 或更高版本”2024-12-03 14:27:06
  • java spring调用db.properties外部文件时出错2024-12-03 14:27:06
  • java泛型2024-12-03 14:27:06
  • java异常的捕获2024-12-03 14:27:06
  • java核心类2024-12-03 14:27:06
  • 全屏图片