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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014449653/article/details/78294862

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

新建一个maven模块
<groupId>cn.ts</groupId>
<artifactId>test</artifactId>
建立对应的子模块
  • 有一些子模块你是必须要建立的,可以参考zheng-demo建立,主要是为了使用代码生成快速的构建代码,毕竟手动效率相对来说比较低。
    1. test-dao pom
<?xml version="1.0" encoding="UTF-8"?>
<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>test</artifactId>
        <groupId>cn.ts</groupId>
        <version>1.0.0</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.ts</groupId>
    <artifactId>test-dao</artifactId>
    <version>1.0.0</version>

    <name>test-dao</name>

    <dependencies>
        <dependency>
            <groupId>com.zheng</groupId>
            <artifactId>zheng-common</artifactId>
            <version>1.0.0</version>
            <type>jar</type>
        </dependency>
    </dependencies>

    <build>
        <finalName>test-dao</finalName>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>generatorConfig.xml</exclude>
                </excludes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <dependencies>
                    <dependency>
                        <groupId>com.zheng</groupId>
                        <artifactId>zheng-common</artifactId>
                        <version>1.0.0</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>
                    <skipTests>true</skipTests>
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
  1. test-rpc-api pom
<?xml version="1.0" encoding="UTF-8"?>
<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>test</artifactId>
        <groupId>cn.ts</groupId>
        <version>1.0.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.ts</groupId>
    <artifactId>test-rpc-api</artifactId>
    <version>1.0.0</version>


</project>
  1. test-rpc-service pom
<?xml version="1.0" encoding="UTF-8"?>
<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>test</artifactId>
        <groupId>cn.ts</groupId>
        <version>1.0.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.ts</groupId>
    <artifactId>test-rpc-service</artifactId>
    <version>1.0.0</version>


</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<String, String> 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.zheng</groupId>
        <artifactId>zheng-common</artifactId>
        <version>1.0.0</version>
        <type>jar</type>
    </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-umps的功能,也去试着写一个基本的crud的操作,配合提供的页面。当然,为什么swagger-ui用了,没在readme里面提到?为什么没配图?脑补吧。

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

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页