• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ymate-maven-extension: 帮助您快速搭建基于YMP框架的各种Java工程结构的Maven扩展工 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

YMP-Maven-Extension(YMP Maven扩展工具)

帮助您快速搭建基于YMP框架的各种Java工程结构的Maven扩展工具集合,主要包括项目模板Maven插件命令两部分。

YMP框架项目地址:https://gitee.com/suninformation/ymate-platform-v2

1、项目模板

目前提供以下5种项目模板:

  • ymate-archetype-quickstart (quickstart):标准Java工程,已集成YMP依赖;

  • ymate-archetype-webapp (webapp):JavaWeb工程,已集成WebMVC框架相关依赖和完整的参数配置;

  • ymate-archetype-module (module):YMP模块工程,提供Demo示例及JUint测试代码;

  • ymate-archetype-serv (serv):YMP服务工程,分别提供TCP、UDP客户端和服务端示例程序及相关配置;

  • ymate-archetype-microservice (microservice):YMP微服务多模块Maven工程;

查看使用文档:通过项目模板自动生成Java工程

2、Maven插件命令

  • pom.xml文件中添加插件配置(必须):

    <plugin>    <groupId>net.ymate.maven.plugins</groupId>    <artifactId>ymate-maven-plugin</artifactId>    <version>1.0-SNAPSHOT</version></plugin>
  • 执行命令格式:

    mvn ymate:<COMMAND> -D<PARAM_1>=<VALUE_1> -D<PARAM_n>=<VALUE_n>

    注:请在pom.xml文件所在路径下执行;

  • 命令列表:

    命令说明
    module模块代码生成器
    controller控制器类生成器
    mapping控制器请求方法生成器
    interceptor拦截器类生成器
    validator验证器类生成器
    repository存储器类生成器
    service服务层类生成器
    config配置类生成器
    enpasswd字符串加密
    depasswd字符串解密
    tomcatTomcat服务配置生成器
    entity数据实体代码生成器
    crudCRUD代码生成器
    dbquery数据库SQL查询
    init初始化基于YMP框架工程所需的各类配置文件及必要的目录结构
    configuration配置体系目录结构生成器

2.1 插件命令详解

2.1.1 module:模块代码生成器

用于生成基于IModule接口的模块代码实现(完全替代ymate-archetype-module (module)模板);

  • 参数列表:

    参数名称必须说明
    name模块名称
    package模块包名,默认值:${project.groupId}.module
  • 命令示例:

    创建名称为Demo的模块;

    执行命令:

    mvn ymate:module -Dname=Demo

    控制台输出:

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building ympDemo 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- ymate-maven-plugin:1.0-SNAPSHOT:module (default-cli) @ ympDemo ---[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/module/IDemo.java[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/module/Demo.java[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/module/IDemoModuleCfg.java[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/module/impl/DefaultModuleCfg.java[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.504s[INFO] Finished at: Tue Oct 31 17:12:56 CST 2017[INFO] Final Memory: 9M/245M[INFO] ------------------------------------------------------------------------
2.1.2 controller:控制器类生成器

用于生成适用于WebMVC模块的控制器类代码;

  • 参数列表:

    参数名称必须说明
    name控制器名称
    package控制器包名,默认值:${project.groupId}.controller
    suffix控制器类名后缀,默认值:Controller
    singleton控制器是否为单例,默认值:true
    transaction是否添加事务注解,默认值:false
    mapping控制器请求根路径,默认值:
    mapping.method控制器请求方式,默认值:,多个用,分隔,取值范围:GETHEADPOSTPUTDELETEOPTIONSTRACE
    mapping.header控制器请求头,默认值:,多个用,分隔
    mapping.param控制器请求参数,默认值:,多个用,分隔
  • 命令示例:

    创建名称为DemoAction的控制器类,内容如下:

    @Controller@RequestMapping(value = "/user/info", method = {Type.HttpMethod.POST, Type.HttpMethod.GET} )public class DemoAction {    @RequestMapping("/")    public IView __index() throws Exception {        return View.textView("Hello YMPer!");    }}

    执行命令:

    mvn ymate:controller -Dname=Demo -Dsuffix=Action -Dmapping=/user/info -Dmapping.method=post,get

    控制台输出:

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building ympDemo 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- ymate-maven-plugin:1.0-SNAPSHOT:controller (default-cli) @ ympDemo ---[INFO] properties:[INFO] 	|--controllerName:DemoAction[INFO] 	|--packageName:net.ymate.demo.controller[INFO] 	|--singleton:true[INFO] 	|--transaction:false[INFO] 	|--mapping:/user/info[INFO] 	  |--method:POST[INFO] 	  |--method:GET[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/controller/DemoAction.java[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.377s[INFO] Finished at: Tue Oct 31 17:48:20 CST 2017[INFO] Final Memory: 8M/245M[INFO] ------------------------------------------------------------------------
2.1.3 mapping:控制器请求方法生成器

用于为指定的控制器类追加请求方法代码片段;

  • 参数列表:

    参数名称必须说明
    name控制器名称
    package控制器包名,默认值:${project.groupId}.controller
    suffix控制器类名后缀,默认值:Controller
    method控制器方法名称
    method.param控制器方法参数,默认值:,多个用,分隔;可以通过<取值方式>:<参数名称>指定参数取值方式,取值方式包括:pathheadercookiemodelfile
    fileUpload是否添加@FileUpload注解
    transaction是否添加事务注解,默认值:false
    mapping控制器请求根路径,默认值:
    mapping.method控制器请求方式,默认值:,多个用,分隔,取值范围:GETHEADPOSTPUTDELETEOPTIONSTRACE
    mapping.header控制器请求头,默认值:,多个用,分隔
    mapping.param控制器请求参数,默认值:,多个用,分隔
  • 命令示例:

    为名称为DemoAction的控制器类添加__sayHi请求方法并添加usernameage方法参数,其中age参数通过@Pathvariable注解获取,内容如下:

    @RequestMapping(value = "/sayHi/{age}" )public IView __sayHi(@RequestParam String username, @PathVariable String age) throws Exception {    return View.textView("mapping: /sayHi/{age}");}

    执行命令:

    mvn ymate:mapping -Dname=Demo -Dsuffix=Action -Dmapping=/sayHi/{age} -Dmethod=sayHi -Dmethod.param=username,path:age

    控制台输出:

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building ympDemo 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- ymate-maven-plugin:1.0-SNAPSHOT:mapping (default-cli) @ ympDemo ---[INFO] properties:[INFO] 	|--controllerName:DemoAction[INFO] 	|--fileUpload:false[INFO] 	|--transaction:false[INFO] 	|--method:__sayHi[INFO] 	  |--param:username[INFO] 	  |--param:path:age[INFO] 	|--mapping:/sayHi/{age}[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/controller/DemoAction.java[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.482s[INFO] Finished at: Wed Nov 01 22:27:58 CST 2017[INFO] Final Memory: 11M/309M[INFO] ------------------------------------------------------------------------
2.1.4 interceptor:拦截器类生成器

用于生成拦截器类代码;

  • 参数列表:

    参数名称必须说明
    name拦截器名称
    package拦截器包名,默认值:${project.groupId}.intercept
    suffix拦截器类名后缀,默认值:Interceptor
  • 命令示例:

    创建名称为DemoInterceptor的拦截器,内容如下:

    public class DemoInterceptor extends AbstractInterceptor {    @Override    protected Object __before(InterceptContext context) throws Exception {        return null;    }    @Override    protected Object __after(InterceptContext context) throws Exception {        return null;    }}

    执行命令:

    mvn ymate:interceptor -Dname=Demo

    控制台输出:

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building ympDemo 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- ymate-maven-plugin:1.0-SNAPSHOT:interceptor (default-cli) @ ympDemo ---[INFO] properties:[INFO] 	|--interceptorName:DemoInterceptor[INFO] 	|--packageName:net.ymate.demo.intercept[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/intercept/DemoInterceptor.java[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.421s[INFO] Finished at: Wed Nov 01 22:41:23 CST 2017[INFO] Final Memory: 9M/245M[INFO] ------------------------------------------------------------------------
2.1.5 validator:验证器类生成器

用于生成验证器注解及类代码;

  • 参数列表:

    参数名称必须说明
    name验证器名称
    package验证器包名,默认值:${project.groupId}.validation
    suffix验证器类名后缀,默认值:Validator
  • 命令示例:

    创建名称为VDemoDemoValidator的验证器注解和验证器类,内容如下:

    @Target({ElementType.FIELD, ElementType.PARAMETER})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface VDemo {    /**     * @return 自定义验证消息     */    String msg() default "";}@Validator(VDemo.class)@CleanProxypublic class DemoValidator extends AbstractValidator {    @Override    public ValidateResult validate(ValidateContext context) {        Object _paramValue = context.getParamValue();        if (_paramValue != null) {            boolean _matched = false;            VDemo _anno = (VDemo) context.getAnnotation();            // TODO Code here.            if (_matched) {                String _pName = StringUtils.defaultIfBlank(context.getParamLabel(), context.getParamName());                _pName = __doGetI18nFormatMessage(context, _pName, _pName);                String _msg = StringUtils.trimToNull(_anno.msg());                if (_msg != null) {                    _msg = __doGetI18nFormatMessage(context, _msg, _msg, _pName);                }                return new ValidateResult(context.getParamName(), _msg);            }        }        return null;    }}

    执行命令:

    mvn ymate:validator -Dname=Demo

    控制台输出:

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building ympDemo 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- ymate-maven-plugin:1.0-SNAPSHOT:validator (default-cli) @ ympDemo ---[INFO] properties:[INFO] 	|--validatorName:DemoValidator[INFO] 	|--packageName:net.ymate.demo.validation[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/validation/VDemo.java[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/validation/DemoValidator.java[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.438s[INFO] Finished at: Wed Nov 01 22:48:42 CST 2017[INFO] Final Memory: 9M/245M[INFO] ------------------------------------------------------------------------
2.1.6 repository:存储器类生成器

用于生成存储器类代码;

  • 参数列表:

    参数名称必须说明
    name存储器名称
    package存储器包名,默认值:${project.groupId}.repository
    suffix存储器类名后缀,默认值:Repository
    transaction是否添加事务注解,默认值:false
    config是否启用配置对象,默认值:false
    interface是否启用接口模式,默认值:false
  • 命令示例:

    创建名称为DemoRepository的存储器并启用配置对象和接口模式,内容如下:

    public interface IDemoRepository {    IResultSet<Object[]> execSql(String hash, IResultSet<Object[]> results) throws Exception;    List<Object[]> execQuery(String hash, IResultSet<Object[]>... results) throws Exception;}@Repository@Transactionpublic class DemoRepository implements IDemoRepository,  IRepository {    @Inject    private DemoRepositoryConfig __config;    @Override    public IConfiguration getConfig() {        return __config;    }    /**    * 自定义SQL    */    @Repository("select * from table1 where hash = ${hash}")    public IResultSet<Object[]> execSql(String hash, IResultSet<Object[]> results) throws Exception {        return results;    }    /**    * 读取配置文件中的SQL    */    @Repository(item = "demo_query")    public List<Object[]> execQuery(String hash, IResultSet<Object[]>... results) throws Exception {        return results[0].getResultData();    }}

    执行命令:

    mvn ymate:repository -Dname=Demo -Dtransaction=true -Dconfig=true -Dinterface=true

    控制台输出:

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building ympDemo 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- ymate-maven-plugin:1.0-SNAPSHOT:repository (default-cli) @ ympDemo ---[INFO] properties:[INFO] 	|--repositoryName:DemoRepository[INFO] 	|--packageName:net.ymate.demo.repository[INFO] 	|--transaction:true[INFO] 	|--withConfig:true[INFO] 	|--withInterface:true[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/repository/IDemoRepository.java[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/repository/impl/DemoRepository.java[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.438s[INFO] Finished at: Wed Nov 01 23:36:27 CST 2017[INFO] Final Memory: 9M/245M[INFO] ------------------------------------------------------------------------
2.1.7 service:服务层类生成器

用于生成服务层类代码;

  • 参数列表:

    参数名称必须说明
    name服务类名称
    package服务类包名,默认值:${project.groupId}.service
    suffix服务类名后缀,默认值:Service
    transaction是否添加事务注解,默认值:false
  • 命令示例:

    创建名称为DemoService的服务类及接口,内容如下:

    public interface IDemoService {}@Beanpublic class DemoService implements IDemoService {}

    执行命令:

    mvn ymate:service -Dname=Demo

    控制台输出:

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building ympDemo 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- ymate-maven-plugin:1.0-SNAPSHOT:service (default-cli) @ ympDemo ---[INFO] properties:[INFO] 	|--serviceName:DemoService[INFO] 	|--packageName:net.ymate.demo.service[INFO] 	|--transaction:false[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/service/IDemoService.java[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/service/impl/DemoService.java[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.425s[INFO] Finished at: Wed Nov 01 23:44:13 CST 2017[INFO] Final Memory: 10M/309M[INFO] ------------------------------------------------------------------------
2.1.8 config:配置类生成器

用于生成基于YMP框架配置体系结构的配置类代码及相关配置文件;

  • 参数列表:

    参数名称必须说明
    name配置类名称
    home配置体系根路径,WEB工程默认值:/src/main/webapp/WEB-INF,普通工程默认值:/src/main/resources
    properties是否使用properties格式的配置文件,默认值:false
    file自定义配置文件相对路径,默认值:cfgs/<配置类名称>.cfg.<xml|properties>
    package配置类包名,默认值:${project.groupId}.config
    suffix配置类名后缀,默认值:Config
    interface是否启用接口模式,默认值:false
  • 命令示例:

    创建名称为DemoConfig的配置类、接口和配置文件,内容如下:

    public interface IDemoConfig {}@Configuration("cfgs/demo.cfg.xml")public class DemoConfig extends DefaultConfiguration implements IDemoConfig {}// --- cfgs/demo.cfg.xml<?xml version="1.0" encoding="UTF-8"?><!-- 用XML格式书写与configuration.properties相同的配置内容 --><!-- XML根节点为properties, abc代表扩展属性key, xyz代表扩展属性值 --><properties abc="xyz">    <!-- 分类节点为category, 默认分类名称为default, abc代表扩展属性key, xyz代表扩展属性值 -->    <category name="default" abc="xyz">        <!-- 属性标签为property, name代表属性名称, value代表属性值(也可以用property标签包裹), abc代表扩展属性key, xyz代表扩展属性值 -->        <property name="company_name" abc="xyz" value="Apple Inc."/>        <!-- 用属性标签表示一个数组或集合数据类型的方法, abc代表扩展属性key, xyz代表扩展属性值, 这一点与properties配置文件不同 -->        <property name="products" abc="xyz">            <!-- 集合元素必须用value标签包裹, 且value标签不要包括任何扩展属性 -->            <value>iphone</value>            <value>ipad</value>            <value>imac</value>            <value>itouch</value>        </property>        <!-- 用属性标签表示一个MAP数据类型的方法, abc代表扩展属性key, xyz代表扩展属性值, 扩展属性与item将被合并处理  -->        <property name="product_spec" abc="xzy">            <!-- MAP元素用item标签包裹, 且item标签必须包含name扩展属性(其它扩展属性将被忽略), 元素值由item标签包裹 -->            <item name="color">red</item>            <item name="weight">120g</item>            <item name="size">small</item>            <item name="age">2015</item>        </property>    </category></properties>

    执行命令:

    mvn ymate:config -Dname=Demo -Dinterface=true

    控制台输出:

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building ympDemo 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- ymate-maven-plugin:1.0-SNAPSHOT:config (default-cli) @ ympDemo ---[INFO] properties:[INFO] 	|--type:jar[INFO] 	|--configHome:/src/main/resources[INFO] 	|--configName:DemoConfig[INFO] 	|--packageName:net.ymate.demo.config[INFO] 	|--fileName:cfgs/demo.cfg.xml[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/config/IDemoConfig.java[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/config/impl/DemoConfig.java[INFO] Output file: /Users/.../ympDemo/src/main/resources/cfgs/demo.cfg.xml[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.434s[INFO] Finished at: Thu Nov 02 00:05:02 CST 2017[INFO] Final Memory: 9M/245M[INFO] ------------------------------------------------------------------------
2.1.9 enpasswd:字符串加密

基于IPasswordProcessor密码处理器接口的默认DES实现,对数据库等登录密码进行加密操作;

  • 参数列表:

    参数名称必须说明
    passwd原始字符串
    passkey自定义密钥
  • 命令示例:

    对字符串abc12345678进行加密:

    执行命令:

    mvn ymate:enpasswd -Dpasswd=abc12345678

    控制台输出:

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building ympDemo 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- ymate-maven-plugin:1.0-SNAPSHOT:enpasswd (default-cli) @ ympDemo ---[INFO] Use passkey: 16296b50a6db0d0bd45d2e5f84fcdd76[INFO] Encrypt password: D3ytOQrD63BlKGDMJnaYsQ==[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.515s[INFO] Finished at: Thu Nov 02 09:00:35 CST 2017[INFO] Final Memory: 11M/245M[INFO] ------------------------------------------------------------------------
2.1.10 depasswd:字符串解密

基于IPasswordProcessor密码处理器接口的默认DES实现,对数据库等登录密码进行解密操作;

  • 参数列表:

    参数名称必须说明
    passwd已加密字符串
    passkey自定义密钥
  • 命令示例:

    对已加密字符串D3ytOQrD63BlKGDMJnaYsQ==进行解密:

    执行命令:

    mvn ymate:depasswd -Dpasswd=D3ytOQrD63BlKGDMJnaYsQ==

    控制台输出:

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building ympDemo 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- ymate-maven-plugin:1.0-SNAPSHOT:depasswd (default-cli) @ ympDemo ---[INFO] Use passkey: 16296b50a6db0d0bd45d2e5f84fcdd76[INFO] Decrypt password: abc12345678[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.459s[INFO] Finished at: Thu Nov 02 09:03:51 CST 2017[INFO] Final Memory: 11M/245M[INFO] ------------------------------------------------------------------------
2.1.11 tomcat:Tomcat服务配置生成器

生成基于Tomcat的获立JVM服务目录结构及配置文件,目前支持Tomcat版本:6789

  • 参数列表:

    参数名称必须说明
    serviceName服务名称(若在Windows环境下同时为注册服务名称)
    catalinaHomeTomcat软件包安装路径,默认值:${CATALINA_HOME}
    catalinaBase生成的服务存放的位置,默认值:当前路径
    hostName主机名称,默认值:localhost
    hostAlias别名,默认值:
    tomcatVersion指定Tomcat软件包的版本,默认值:7,目前支持:6789,(必须与catalinaHome指定的版本匹配)
    serverPort服务端口(Tomcat服务的Server端口),默认值:8005
    connectorPort容器端口(Tomcat服务的Connector端口),默认值:8080
    ajp是否启用AJP配置,默认值:false
    ajpHostAJP主机名称,默认值:localhost
    ajpPortAJP端口,默认值:8009
  • 命令示例:

    基于Tomcat7.x创建名称为DemoServer的服务:

    执行命令:

    mvn ymate:tomcat -DserviceName=DemoServer -DcatalinaHome=/Users/.../apache-tomcat-7.0.54 -DcatalinaBase=/Users/.../Temp

    控制台输出:

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building ympDemo 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- ymate-maven-plugin:1.0-SNAPSHOT:tomcat (default-cli) @ ympDemo ---[INFO] Tomcat Service:DemoServer[INFO] 	|--CatalinaHome:/Users/.../apache-tomcat-7.0.54[INFO] 	|--CatalinaBase:/Users/.../Temp[INFO] 	|--HostName:localhost[INFO] 	|--HostAlias:[INFO] 	|--TomcatVersion:7[INFO] 	|--ServerPort:8005[INFO] 	|--ConnectorPort:8080[INFO] 	|--RedirectPort:8443[INFO] 	|--Ajp:false[INFO] Output file: /Users/.../Temp/DemoServer/conf/server.xml[INFO] Output file: /Users/.../Temp/DemoServer/vhost.conf[INFO] Output file: /Users/.../Temp/DemoServer/bin/install.bat[INFO] Output file: /Users/.../Temp/DemoServer/bin/manager.bat[INFO] Output file: /Users/.../Temp/DemoServer/bin/shutdown.bat[INFO] Output file: /Users/.../Temp/DemoServer/bin/startup.bat[INFO] Output file: /Users/.../Temp/DemoServer/bin/uninstall.bat[INFO] Output file: /Users/.../Temp/DemoServer/bin/manager.sh[INFO] Output file: /Users/.../Temp/DemoServer/webapps/ROOT/index.jsp[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.498s[INFO] Finished at: Thu Nov 02 10:05:47 CST 2017[INFO] Final Memory: 11M/309M[INFO] ------------------------------------------------------------------------

    生成的文件说明:

    文件名称说明
    conf/server.xmlTomcat服务配置文件
    vhost.confNginxApache Server整合所需配置
    bin/install.batWindows环境下服务安装
    bin/manager.batWindows环境下打开Tomcat服务管理
    bin/shutdown.batWindows环境下服务停止
    bin/startup.batWindows环境下服务启动
    bin/uninstall.batWindows环境下服务卸载
    bin/manager.shLinuxUnix环境下控制服务的启动或停止等操作
    webapps/ROOT/index.jsp默认JSP首页文件

    Linux下服务的启动和停止:

    • 需要为manager.sh添加执行权限:

      执行命令:

      chmod +x manager.sh
    • 启动服务:

      执行命令:

      ./manager.sh start

      控制台输出:

      Using CATALINA_BASE:   /Users/.../Temp/DemoServerUsing CATALINA_HOME:   /Users/.../apache-tomcat-7.0.54Using CATALINA_TMPDIR: /Users/.../Temp/DemoServer/tempUsing JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/HomeUsing CLASSPATH:       /Users/.../apache-tomcat-7.0.54/bin/bootstrap.jar:/Users/.../apache-tomcat-7.0.54/bin/tomcat-juli.jarUsing CATALINA_PID:    /Users/.../Temp/DemoServer/logs/catalina.pidTomcat started.
    • 停止服务:

      执行命令:

      ./manager.sh stop

      控制台输出:

      Using CATALINA_BASE:   /Users/.../Temp/DemoServerUsing CATALINA_HOME:   /Users/.../apache-tomcat-7.0.54Using CATALINA_TMPDIR: /Users/.../Temp/DemoServer/tempUsing JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/HomeUsing CLASSPATH:       /Users/.../apache-tomcat-7.0.54/bin/bootstrap.jar:/Users/.../apache-tomcat-7.0.54/bin/tomcat-juli.jarUsing CATALINA_PID:    /Users/.../Temp/DemoServer/logs/catalina.pidTomcat stopped.
2.1.12 entity:数据实体代码生成器

通过已有数据库表结构生成对应的数据实体类,支持表和视图,支持ConsoleTablemarkdown格式输出表结构;

  • 参数列表:

    参数名称必须说明
    view指定本次针对视图生成代码,默认值:false
    markdown是否采用markdown格式输出表结构,默认值:false
    csv是否采用csv格式输出表结构,默认值:false
    onlyShow不生成任何文件仅格式输出表结构,默认值:false
  • 数据源及生成规则配置:

    在生成数据实体之前,需要先将默认数据源和实体生成规则配置好,请根据实际需求配置并确认ymp-conf.properties以下内容:

    #-------------------------------------# JDBC持久化模块初始化参数#-------------------------------------# 是否显示执行的SQL语句,默认为falseymp.configs.persistence.jdbc.ds.default.show_sql=true# 数据库表前缀名称,默认为空ymp.configs.persistence.jdbc.ds.default.table_prefix=ym_# 数据库连接字符串,必填参数ymp.configs.persistence.jdbc.ds.default.connection_url=jdbc:mysql://localhost:3306/ymate_demo# 数据库访问用户名称,必填参数ymp.configs.persistence.jdbc.ds.default.username=root# 数据库访问密码,可选参数ymp.configs.persistence.jdbc.ds.default.password=#-------------------------------------# JDBC数据实体代码生成器配置参数#-------------------------------------# 是否生成新的BaseEntity类,默认为false(即表示使用框架提供的BaseEntity类)ymp.params.jdbc.use_base_entity=# 是否使用类名后缀,不使用和使用的区别如: User-->UserModel,默认为falseymp.params.jdbc.use_class_suffix=# 是否采用链式调用模式,默认为falseymp.params.jdbc.use_chain_mode=# 是否添加类成员属性值状态变化注解,默认为falseymp.params.jdbc.use_state_support=# 实体及属性命名过滤器接口实现类,默认为空ymp.params.jdbc.named_filter_class=# 数据库名称(仅针对特定的数据库使用,如Oracle),默认为空ymp.params.jdbc.db_name=# 数据库用户名称(仅针对特定的数据库使用,如Oracle),默认为空ymp.params.jdbc.db_username=# 数据库表名称前缀,多个用'|'分隔,默认为空ymp.params.jdbc.table_prefix=# 否剔除生成的实体映射表名前缀,默认为falseymp.params.jdbc.remove_table_prefix=# 预生成实体的数据表名称列表,多个用'|'分隔,默认为空表示全部生成ymp.params.jdbc.table_list=# 排除的数据表名称列表,在此列表内的数据表将不被生成实体,多个用'|'分隔,默认为空ymp.params.jdbc.table_exclude_list=# 需要添加@Readonly注解声明的字段名称列表,多个用'|'分隔,默认为空ymp.params.jdbc.readonly_field_list=# 生成的代码文件输出路径,默认为${root}ymp.params.jdbc.output_path=# 生成的代码所属包名称,默认为: packagesymp.params.jdbc.package_name=
  • 命令示例:

    执行命令:

    mvn ymate:entity

    控制台输出:

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building carfriend-core 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- ymate-maven-plugin:1.0-SNAPSHOT:entity (default-cli) @ carfriend-core ---十一月 02, 2017 11:41:09 上午 net.ymate.platform.core.YMP init信息:__   ____  __ ____          ____\ \ / /  \/  |  _ \  __   _|___ \ \ V /| |\/| | |_) | \ \ / / __) |  | | | |  | |  __/   \ V / / __/  |_| |_|  |_|_|       \_/ |_____|  Website: http://www.ymate.net/十一月 02, 2017 11:41:09 上午 net.ymate.platform.core.YMP init信息: Initializing ymate-platform-core-2.0.2-Release build-20171030-0108 - debug:true十一月 02, 2017 11:41:09 上午 net.ymate.platform.persistence.jdbc.JDBC init信息: Initializing ymate-platform-persistence-jdbc-2.0.2-Release build-20171030-0108十一月 02, 2017 11:41:09 上午 net.ymate.platform.core.YMP init信息: Initialization completed, Total time: 191ms十一月 02, 2017 11:41:09 上午 net.ymate.platform.persistence.jdbc.base.AbstractOperator execute信息: [show full tables where Table_type='BASE TABLE'][] 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap