idea创建java的maven聚合工程

一、创建聚合工程

1.创建父工程

(1)点击create new project

idea创建java的maven聚合工程_第1张图片

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

idea创建java的maven聚合工程_第2张图片

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

idea创建java的maven聚合工程_第3张图片

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

idea创建java的maven聚合工程_第4张图片

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

pom

idea创建java的maven聚合工程_第5张图片

2.构建common

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

idea创建java的maven聚合工程_第6张图片

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

idea创建java的maven聚合工程_第7张图片 (3)输入ArtifactId(子工程名字),点击下一步

idea创建java的maven聚合工程_第8张图片

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

idea创建java的maven聚合工程_第9张图片

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

idea创建java的maven聚合工程_第10张图片

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

idea创建java的maven聚合工程_第11张图片

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

idea创建java的maven聚合工程_第12张图片

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

idea创建java的maven聚合工程_第13张图片

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

idea创建java的maven聚合工程_第14张图片

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

idea创建java的maven聚合工程_第15张图片

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

备注:

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

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

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

二、聚合工程整合springBoot

1.在父工程引入依赖parent

    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.5.RELEASE
        
    

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

    
        UTF-8
        UTF-8
        1.8
    

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

    
        
        
            org.springframework.boot
            spring-boot-starter
            
                
                    org.springframework.boot
                    spring-boot-starter-logging
                
            
        
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.boot
            spring-boot-configuration-processor
            true
        
    

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

@SpringBootApplication
public class Application {

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

idea创建java的maven聚合工程_第16张图片

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

idea创建java的maven聚合工程_第17张图片

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

idea创建java的maven聚合工程_第18张图片

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

idea创建java的maven聚合工程_第19张图片 三、配置数据源hikaricp和mybaties整合(springBoot2.x默认数据源hikaricp,非常高性能)github:https://github.com/brettwooldridge/HikariCP

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

        
        
            mysql
            mysql-connector-java
            5.1.41
        
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.1.0
        

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:  600000    #  连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
      pool-name:  DateSourceHikariCP        #  连接池名字
      max-lifetime:  1800000    #  连接的生命时长(毫秒),超时而且没被使用则被释放(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的配置),如下图:

idea创建java的maven聚合工程_第20张图片

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

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

        
        
            tk.mybatis
            mapper-spring-boot-starter
            2.1.5
        

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 extends Mapper, MySqlMapper {
}

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

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

你可能感兴趣的:(java从入门到放弃)