YMP-Maven-Extension (YMP Maven 扩展工具)
Помогает быстро создавать структуру Maven-проектов на основе YMP-фреймворка.
1. Проектные шаблоны
Предлагается пять шаблонов проектов:
Подробнее о создании проекта с помощью шаблона см. здесь.
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 | Генератор кода для модулей на основе интерфейса IModule (полностью заменяет шаблон ymate-archetype-module). |
controller | Генератор классов контроллеров для WebMVC-модулей. |
mapping | Генератор методов запросов для контроллеров. |
interceptor | Генератор классов перехватчиков. |
validator | Генератор классов валидаторов. |
repository | Генератор классов хранилищ. |
service | Генератор классов сервисов. |
config | Генератор конфигурационных классов. |
enpasswd | Шифрование строк. |
depasswd | Расшифровка строк. |
tomcat | Генератор конфигурации Tomcat. |
entity | Генератор кода сущностей. |
crud | Генератор CRUD-кода. |
dbquery | Генератор SQL-запросов к базе данных. |
init | Инициализация необходимых файлов конфигурации и структуры каталогов для проектов на основе YMP. |
configuration | Генератор структуры каталогов конфигурации. |
2.1. Подробное описание команд плагина
2.1.1 module
: генератор кода для модулей
Используется для генерации кода реализации модулей на основе интерфейса IModule
. Полностью заменяет шаблон ymate-archetype-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] ------------------------------------------------------------------------
``` **Перевод текста на русский язык:**
-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 | Нет | Параметры метода контроллера, по умолчанию: пусто, несколько значений разделяются `,`; можно указать способ получения значения параметра с помощью `<способ получения>:<имя параметра>` |
| fileUpload | Нет | Добавлять ли аннотацию `@FileUpload` |
| transaction | Нет | Добавлять ли транзакционную аннотацию, по умолчанию: false |
| mapping | Нет | Корневой путь запроса контроллера, по умолчанию: пусто |
| mapping.method | Нет | Способ запроса контроллера, по умолчанию: пусто, разделяется `,`, допустимые значения: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `OPTIONS`, `TRACE` |
| mapping.header | Нет | Заголовок запроса контроллера, по умолчанию: пусто, разделяется `,` |
| mapping.param | Нет | Параметр запроса контроллера, по умолчанию: пусто, разделяется `,` |
- Пример команды:
> Добавить метод __sayHi запроса к классу контроллера с именем DemoAction и добавить параметры username и age, где параметр 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 **2.1.6 repository: генератор класса хранилища**
Используется для генерации кода класса хранилища.
Пример команды:
mvn ymate:repository -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:repository (default-cli) @ ympDemo ---
[INFO] properties:
[INFO] |--repositoryName:DemoRepository
[INFO] |--packageName:net.ymate.demo.repository
[INFO] Output file: /Users/.../ympDemo/src/main/java/net/ymate/demo/repository/DemoRepository.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] ------------------------------------------------------------------------
``` |---|---|---|
|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 @Transaction public 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 { }
@Bean public 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] ------------------------------------------------------------------------ JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
[ИНФОРМАЦИЯ] Сканирование проектов... [ИНФОРМАЦИЯ] [ИНФОРМАЦИЯ] ------------------------------------------------------------------------ [ИНФОРМАЦИЯ] Создание ympDemo 1.0-SNAPSHOT [ИНФОРМАЦИЯ] ------------------------------------------------------------------------ [ИНФОРМАЦИЯ] [ИНФОРМАЦИЯ] --- ymate-maven-plugin:1.0-SNAPSHOT:enpasswd (default-cli) @ ympDemo --- [ИНФОРМАЦИЯ] Используйте ключ: 16296b50a6db0d0bd45d2e5f84fcdd76 [ИНФОРМАЦИЯ] Зашифрованный пароль: D3ytOQrD63BlKGDMJnaYsQ== [ИНФОРМАЦИЯ] ------------------------------------------------------------------------ [ИНФОРМАЦИЯ] BUILD SUCCESS [ИНФОРМАЦИЯ] ------------------------------------------------------------------------ [ИНФОРМАЦИЯ] Общее время: 0,515 с [ИНФОРМАЦИЯ] Завершено в: четверг, 2 ноября, 09:00:35 CST 2017 [ИНФОРМАЦИЯ] Финальная память: 11M/245M [ИНФОРМАЦИЯ] ------------------------------------------------------------------------
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] Расшифрованный пароль: abc12345678
[ИНФОРМАЦИЯ] ------------------------------------------------------------------------
[ИНФОРМАЦИЯ] BUILD SUCCESS
[ИНФОРМАЦИЯ] ------------------------------------------------------------------------
[ИНФОРМАЦИЯ] Общее время: 0,459 с
[ИНФОРМАЦИЯ] Завершено: в четверг, 2 ноября, 09:03:51 CST 2017
[ИНФОРМАЦИЯ] Финальная память: 11M/245M
[ИНФОРМАЦИЯ] ------------------------------------------------------------------------
**2.1.11 tomcat: генератор конфигурации Tomcat**
Создаёт структуру каталогов и файлы конфигурации на основе Tomcat для службы JVM, в настоящее время поддерживает версии Tomcat: 6, 7, 8, 9;
- Список параметров:
|Параметр | Обязательный| Описание|
|---|---|---|
|serviceName| Да| Имя службы (если используется для регистрации службы в Windows)|
|catalinaHome| Да| Путь установки программного обеспечения Tomcat, значение по умолчанию: ${CATALINA_HOME}|
|catalinaBase| Нет| Расположение созданного сервиса, значение по умолчанию: текущий путь|
|hostName| Нет| Имя хоста, значение по умолчанию: localhost|
|hostAlias| Нет| Псевдоним, значение по умолчанию: пусто|
|tomcatVersion| Нет| Указывает версию пакета Tomcat, значение по умолчанию: 7 (поддерживает 6, 7, 8, 9, должно соответствовать версии, указанной в catalinaHome)|
|serverPort| Нет| Порт сервера (порт Server Tomcat), значение по умолчанию: 8005|
|connectorPort| Нет| Контейнерный порт (порт Connector Tomcat), значение по умолчанию: 8080|
|ajp| Нет| Включить ли конфигурацию AJP, значение по умолчанию: false|
|ajpHost| Нет| Хост AJP, значение по умолчанию: localhost|
|ajpPort| Нет| Порт AJP, значение по умолчанию: 8009|
- Пример команды:
Создайте службу с именем DemoServer на основе Tomcat7.x:
Выполните команду:
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: 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] Выходной файл: /Users/.../Temp/DemoServer/conf/server.xml [INFO] Выходной файл: /Users/.../Temp/DemoServer/vhost.conf [INFO] Выходной файл: /Users/.../Temp/DemoServer/bin/install.bat [INFO] Выходной файл: /Users/.../Temp/DemoServer/bin/manager.bat Перевод текста на русский язык:
/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.xml | Конфигурационный файл сервиса Tomcat |
| vhost.conf | Необходимый для интеграции с Nginx и Apache Server конфигурационный файл |
| bin/install.bat | Установка сервиса в среде Windows |
| bin/manager.bat | Открытие сервиса управления Tomcat в среде Windows |
| bin/shutdown.bat | Остановка сервиса в среде Windows |
| bin/startup.bat | Запуск сервиса в среде Windows |
| bin/uninstall.bat | Деинсталляция сервиса в среде Windows |
| bin/manager.sh | Управление запуском, остановкой и другими операциями сервиса в Linux или Unix-среде |
| webapps/ROOT/index.jsp | Файл по умолчанию для JSP-страницы |
**Запуск и остановка сервиса в Linux:**
* Для manager.sh необходимо добавить права выполнения:
* Выполнить команду:
```
chmod +x manager.sh
```
* Запуск сервиса:
* Выполнить команду:
```
./manager.sh start
```
* Вывод консоли:
```
Using CATALINA_BASE: /Users/.../Temp/DemoServer
Using CATALINA_HOME: /Users/.../apache-tomcat-7.0.54
Using CATALINA_TMPDIR: /Users/.../Temp/DemoServer/temp
Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
Using CLASSPATH: /Users/.../apache-tomcat-7.0.54/bin/bootstrap.jar:/Users/.../apache-tomcat-7.0.54/bin/tomcat-juli.jar
Using CATALINA_PID: /Users/.../Temp/DemoServer/logs/catalina.pid
Tomcat started.
```
* Остановка сервиса:
* Выполнить команду:
```
./manager.sh stop
```
* Вывод консоли:
```
Using CATALINA_BASE: /Users/.../Temp/DemoServer
Using CATALINA_HOME: /Users/.../apache-tomcat-7.0.54
Using CATALINA_TMPDIR: /Users/.../Temp/DemoServer/temp
Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
Using CLASSPATH: /Users/.../apache-tomcat-7.0.54/bin/bootstrap.jar:/Users/.../apache-tomcat-7.0.54/bin/tomcat-juli.jar
Using CATALINA_PID: /Users/.../Temp/DemoServer/logs/catalina.pid
Tomcat stopped.
```
#### 2.1.12 entity: генератор кода данных сущности
> Генерация соответствующего класса данных сущности на основе существующей структуры таблицы базы данных, поддержка таблиц и представлений, поддержка форматов вывода структуры ConsoleTable и markdown;
- Список параметров:
| Параметр | Обязательный | Описание |
|---|---|---|
| view | Нет | Указывает, что код генерируется для представления, значение по умолчанию: false |
| markdown | Нет | Определяет, использовать ли формат markdown для вывода структуры, значение по умолчанию: false |
| csv | Нет | Определяет, использовать ли формат csv для вывода структуры, значение по умолчанию: false |
| onlyShow | Нет | Генерирует только структуру без файлов, значение по умолчанию: false |
- Параметры источника данных и генерации правил конфигурации:
> Перед генерацией кода данных сущности необходимо настроить источник данных по умолчанию и правила генерации. Пожалуйста, настройте и подтвердите следующие параметры в ymp-conf.properties в соответствии с фактическими потребностями:
#-------------------------------------
#-------------------------------------
ymp.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=
#-------------------------------------
#-------------------------------------
ymp.params.jdbc.use_base_entity=
ymp.params.jdbc.use_class_suffix=
ymp.params.jdbc.use_chain_mode=
ymp.params.jdbc.use_state_support=
ymp.params.jdbc.named_filter_class=
# 数据库访问密码, допустимый параметр
**ymp.configs.persistence.jdbc.ds.default.password =**
- Команда:
Выполнение команды:
```
mvn ymate:dbquery -Dsql="select * from ym_user" -Dpage=1 -Dformat=csv
```
Вывод в консоль:
```
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:dbquery (default-cli) @ ympDemo ---
[INFO] SQL: select * from ym_user
27 марта 2018 г. 22:15:36 net.ymate.platform.core.YMP init
Информация:
__ ____ __ ____ ____
\ \ / / \/ | _ \ __ _|___ \
\ V /| |\/| | |_) | \ \ / / __) |
| | | | | | __/ \ V / / __/
|_| |_| |_|_| \_/ |_____| Website: http://www.ymate.net/
27 марта 2018 г. 22:15:36 net.ymate.platform.core.YMP init
Информация: Инициализация ymate-platform-core-2.0.5-Release build-20180327-2036 - debug:true - env:unknown
27 марта 2018 г. 22:15:36 net.ymate.platform.persistence.jdbc.JDBC init
Информация: Инициализация ymate-platform-persistence-jdbc-2.0.5-Release build-20180327-2036
27 марта 2018 г. 22:15:36 net.ymate.platform.persistence.Persistence init
Информация: Инициализация ymate-platform-persistence-2.0.5-Release build-20180327-2036
27 марта 2018 г. 22:15:36 net.ymate.platform.core.YMP init
Информация: Завершена инициализация, общее время: 241 мс
27 марта 2018 г. 22:15:36 net.ymate.platform.persistence.jdbc.base.AbstractOperator execute
Информация: [SELECT count(1) FROM (select * from ym_user) c_t][][1][9ms]
27 марта 2018 г. 22:15:36 net.ymate.platform.persistence.jdbc.base.AbstractOperator execute
Информация: [select * from ym_user limit 0, 20][][0][1ms]
[INFO] ------------------------------------------------------------------------
[INFO] Количество записей: 0
[INFO] Текущая страница: 1/0 - 20
[INFO] ------------------------------------------------------------------------
// Пусто... :p
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Общее время: 0,937 с
[INFO] Завершено в: вторник, 27 марта, 22:15:36 CST 2018
[INFO] Конечная память: 10M/245M
[INFO] ------------------------------------------------------------------------
2.1.15 init
:Инициализация необходимых конфигурационных файлов и структуры каталогов для проектов на основе YMP
Команда:
Выполнение команды:
mvn ymate:init -Doverwrite=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:init (default-cli) @ ympDemo ---
[INFO] Выходной файл: /Users/.../ympDemo/src/main/resources/c3p0.properties
[INFO] Выходной файл: /Users/.../ympDemo/src/main/resources/dbcp.properties
[INFO] Выходной файл: /Users/.../ympDemo/src/main/resources/ehcache.xml
[INFO] Выходной файл: /Users/.../ympDemo/src/main/resources/simplelog.properties
[INFO] Выходной файл: /Users/.../ympDemo/src/main/resources/simplelogger.properties
[INFO] Выходной файл: /Users/.../ympDemo/src/main/resources/ymp-conf.properties
[INFO] Выходной файл: /Users/.../ympDemo/src/main/webapp/WEB-INF/web.xml
[INFO] Выходной файл: /Users/.../ympDemo/src/main/webapp/WEB-INF/cfgs/log4j.xml
[INFO] Выходной файл: /Users/.../ympDemo/src/main/webapp/WEB-INF/logs/.log
[INFO] Выходной файл: /Users/.../ympDemo/src/main/webapp/WEB-INF/templates/.tmpl
[INFO] Выходной файл: /Users/.../ympDemo/src/main/webapp/WEB-INF/i18n/messages.properties
[INFO] Выходной файл: **2.1.16 configuration: генератор структуры каталогов конфигурации**
Параметры:
Параметр | Обязательный | Описание |
---|---|---|
homeDir | Нет | Корневой путь конфигурации, по умолчанию текущий базовый путь проекта. Если указанный путь не существует, он будет создан |
projectName | Нет | Имя проекта, значение по умолчанию — пустое |
moduleNames | Нет | Набор имён модулей, значение по умолчанию — пустое. Несколько значений разделяются символом ,
|
pluginNames | Нет | Набор имён плагинов, значение по умолчанию — пустое. Несколько значений разделяются символом ,
|
repair | Нет | Выполнять ли восстановление отсутствующих файлов (кроме автоматического заполнения структуры каталогов, этот параметр также заполняет отсутствующие файлы). Значение по умолчанию — false |
Пример команды:
Выполнение команды:
mvn ymate:configuration -DprojectName=default -DmoduleNames=webapp,demo -Drepair=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:configuration (default-cli) @ ympDemo ---
[INFO] Base directory: /Users/.../ympDemo
[INFO] Create directory: /Users/.../ympDemo/bin
[INFO] Create directory: /Users/.../ympDemo/dist
[INFO] Create directory: /Users/.../ympDemo/projects
[INFO] Create directory: /Users/.../ympDemo/cfgs
[INFO] Create directory: /Users/.../ympDemo/classes
[INFO] Create directory: /Users/.../ympDemo/lib
[INFO] Create directory: /Users/.../ympDemo/logs
[INFO] Create directory: /Users/.../ympDemo/temp
[INFO] Output file: /Users/.../ympDemo/cfgs/log4j.xml
[INFO] Create directory: /Users/.../ympDemo/projects/default/cfgs
[INFO] Create directory: /Users/.../ympDemo/projects/default/classes
[INFO] Create directory: /Users/.../ympDemo/projects/default/lib
[INFO] Create directory: /Users/.../ympDemo/projects/default/logs
[INFO] Create directory: /Users/.../ympDemo/projects/default/temp
[INFO] Output file: /Users/.../ympDemo/projects/default/cfgs/log4j.xml
[INFO] Create directory: /Users/.../ympDemo/projects/default/modules/webapp/cfgs
[INFO] Create directory: /Users/.../ympDemo/projects/default/modules/webapp/classes
[INFO] Create directory: /Users/.../ympDemo/projects/default/modules/webapp/lib
[INFO] Create directory: /Users/.../ympDemo/projects/default/modules/webapp/logs
[INFO] Create directory: /Users/.../ympDemo/projects/default/modules/webapp/temp
[INFO] Output file: /Users/.../ympDemo/projects/default/modules/webapp/cfgs/log4j.xml
[INFO] Create directory: /Users/.../ympDemo/projects/default/modules/demo/cfgs
[INFO] Create directory: /Users/.../ympDemo/projects/default/modules/demo/classes
[INFO] Create directory: /Users/.../ympDemo/projects/default/modules/demo/lib
[INFO] Create directory: /Users/.../ympDemo/projects/default/modules/demo/logs
[INFO] Create directory: /Users/.../ympDemo/projects/default/modules/demo/temp
[INFO] Output file: /Users/.../ympDemo/projects/default/modules/demo/cfgs/log4j.xml
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.458s
[INFO] Finished at: Fri May 18 11:56:20 CST 2018
[INFO] Final Memory: 9M/245M
[INFO] ------------------------------------------------------------------------
#### One More Thing
YMP не только предоставляет удобный опыт быстрой разработки для веб-приложений и других Java-проектов, но и постоянно предлагает более богатый опыт проектов.
Заинтересованные друзья могут присоединиться к официальной группе QQ 480374360, чтобы общаться и учиться вместе, помогая YMP расти!
Чтобы узнать больше о фреймворке YMP, посетите официальный сайт: http://www.ymate.net/.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )