zheng项目新建一个module学习学习


看一个框架看太多也不如直接操作来的实际,顺便在做的过程中记录一下,接下来谁碰到类似的问题可以快速解决,zheng的项目下面很多的模块,其实对于我来说,很多是用不到的,我删除了很多,留下的只是作为一个基本的参考,毕竟一个新手主要是学,言归正传

新建一个maven模块
<groupId>cn.tsgroupId>
<artifactId>testartifactId>
建立对应的子模块
  • 有一些子模块你是必须要建立的,可以参考zheng-demo建立,主要是为了使用代码生成快速的构建代码,毕竟手动效率相对来说比较低。
    1. test-dao pom

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>testartifactId>
        <groupId>cn.tsgroupId>
        <version>1.0.0version>
    parent>

    <modelVersion>4.0.0modelVersion>

    <groupId>cn.tsgroupId>
    <artifactId>test-daoartifactId>
    <version>1.0.0version>

    <name>test-daoname>

    <dependencies>
        <dependency>
            <groupId>com.zhenggroupId>
            <artifactId>zheng-commonartifactId>
            <version>1.0.0version>
            <type>jartype>
        dependency>
    dependencies>

    <build>
        <finalName>test-daofinalName>
        <resources>
            <resource>
                <directory>src/main/javadirectory>
                <includes>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>truefiltering>
            resource>
            <resource>
                <directory>src/main/resourcesdirectory>
                <excludes>
                    <exclude>generatorConfig.xmlexclude>
                excludes>
            resource>
        resources>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generatorgroupId>
                <artifactId>mybatis-generator-maven-pluginartifactId>
                <version>1.3.2version>
                <dependencies>
                    <dependency>
                        <groupId>com.zhenggroupId>
                        <artifactId>zheng-commonartifactId>
                        <version>1.0.0version>
                    dependency>
                dependencies>
                <configuration>
                    <verbose>trueverbose>
                    <overwrite>trueoverwrite>
                configuration>
            plugin>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-surefire-pluginartifactId>
                <version>2.18.1version>
                <configuration>
                    <skipTests>trueskipTests>
                    <testFailureIgnore>truetestFailureIgnore>
                configuration>
            plugin>
        plugins>
    build>
project>
  1. test-rpc-api pom

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>testartifactId>
        <groupId>cn.tsgroupId>
        <version>1.0.0version>
    parent>
    <modelVersion>4.0.0modelVersion>

    <groupId>cn.tsgroupId>
    <artifactId>test-rpc-apiartifactId>
    <version>1.0.0version>


project>
  1. test-rpc-service pom

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>testartifactId>
        <groupId>cn.tsgroupId>
        <version>1.0.0version>
    parent>
    <modelVersion>4.0.0modelVersion>

    <groupId>cn.tsgroupId>
    <artifactId>test-rpc-serviceartifactId>
    <version>1.0.0version>


project>

4.代码

// 根据命名规范,只修改此常量值即可
    /**
     * 根据模板生成generatorConfig.xml文件
     * @param jdbc_driver   驱动路径
     * @param jdbc_url      链接
     * @param jdbc_username 帐号
     * @param jdbc_password 密码
     * @param module        项目模块
     * @param database      数据库
     * @param table_prefix  表前缀
     * @param package_name  包名
     */
    private static String MODULE = "test";  //这个地方千万注意源代码里面写的什么东西,有个小点的东西不需要
    private static String DATABASE = "zheng";
    private static String TABLE_PREFIX = "t_"; //我新建的表名没有去用模块的名字作为前缀
    private static String PACKAGE_NAME = "cn.ts.test";
    private static String JDBC_DRIVER = PropertiesFileUtil.getInstance("generator").get("generator.jdbc.driver");
    private static String JDBC_URL = PropertiesFileUtil.getInstance("generator").get("generator.jdbc.url");
    private static String JDBC_USERNAME = PropertiesFileUtil.getInstance("generator").get("generator.jdbc.username");
    private static String JDBC_PASSWORD = PropertiesFileUtil.getInstance("generator").get("generator.jdbc.password");
    // 需要insert后返回主键的表配置,key:表名,value:主键名
    private static Map LAST_INSERT_ID_TABLES = new HashMap<>();
    static {
        //LAST_INSERT_ID_TABLES.put("upms_user", "user_id");//不需要的我就直接注释了
    }

    /**
     * 自动代码生成
     * @param args
     */
    public static void main(String[] args) throws Exception {
        MybatisGeneratorUtil.generator(JDBC_DRIVER, JDBC_URL, JDBC_USERNAME, JDBC_PASSWORD, MODULE, DATABASE, TABLE_PREFIX, PACKAGE_NAME, LAST_INSERT_ID_TABLES);
    }
添加相关的package
三层的package都最好自己添加,不然在自动生成代码的时候会爆出缺少文件路径的问题
  • test-dao
    1. 添加cn.ts.dao包,再继续在这个下面添加mapper和mdoel的package
    2. 复制粘贴别的模块的Generator.java和generator.properties
    3. java文件缺少的包,自己在dao的pom文件里面添加下面的依赖就ok了
    <dependency>
        <groupId>com.zhenggroupId>
        <artifactId>zheng-commonartifactId>
        <version>1.0.0version>
        <type>jartype>
    dependency>
  • test-rpc-api
    1.添加cn.ts.test.api的package

  • test-rpc-service

    1. cn.ts.test.dao.mapper
    2. cn.ts.test.rpc.mapper
    3. cn.ts.test.rpc.service.impl

完成以上的操作基本上就可以用代码自动生成进行基础代码的构建,log打印结果如下:

========== 开始生成generatorConfig.xml文件 ==========
数据库连接成功
t_company
t_product
释放数据库连接
========== 结束生成generatorConfig.xml文件 ==========
========== 开始运行MybatisGenerator ==========
log4j:WARN No appenders could be found for logger (org.mybatis.generator.internal.db.DatabaseIntrospector).
log4j:WARN Please initialize the log4j system properly.
========== 结束运行MybatisGenerator ==========
========== 开始生成Service ==========
F:/work/zheng/test/test-rpc-api/src/main/java/cn/ts/test/rpc/api/TCompanyService.java
F:/work/zheng/test/test-rpc-api/src/main/java/cn/ts/test/rpc/api/TCompanyServiceMock.java
F:/work/zheng/test/test-rpc-service/src/main/java/cn/ts/test/rpc/service/impl/TCompanyServiceImpl.java
F:/work/zheng/test/test-rpc-api/src/main/java/cn/ts/test/rpc/api/TProductService.java
F:/work/zheng/test/test-rpc-api/src/main/java/cn/ts/test/rpc/api/TProductServiceMock.java
F:/work/zheng/test/test-rpc-service/src/main/java/cn/ts/test/rpc/service/impl/TProductServiceImpl.java
========== 结束生成Service ==========
========== 开始生成Controller ==========
========== 结束生成Controller ==========

当然,也可以把common的模块先建立起来,再在“test-dao”的模块中引用“test-common”的depedence,”test-common”中去引用“zheng-common”的depedence


附上一张结构图吧,不然说个XX
zheng项目新建一个module学习学习_第1张图片


接下来就是参考zheng-umps的功能,也去试着写一个基本的crud的操作,配合提供的页面。当然,为什么swagger-ui用了,没在readme里面提到?为什么没配图?脑补吧。

原项目链接附上:
https://github.com/shuzheng/zheng

你可能感兴趣的:(maven,ssm,maven,框架)