На основе реляционной базы данных и шаблонов Freemarker генерируется код, который не ограничивает язык разработки, поскольку это всего лишь генератор кода.
Теоретически совместим с PostgreSQL, MySQL, SqlServer и Oracle. Протестирован только на PostgreSQL, другие базы данных пока не тестировались.
Предоставленный файл конфигурации типа сопоставления — config/mappings-postgresql-java.xml — поддерживает только PostgreSQL и Java. Для других баз данных и языков программирования необходимо изменить файл сопоставления типов.
Ранее использовался rapid-generator, но поскольку rapid-generator больше не поддерживается и не может удовлетворить потребности, был создан собственный проект на основе Spring Boot и Freemarker.
Основные функции и использование аналогичны rapid-generator. Пользователи, которые ранее использовали rapid-generator, могут легко перейти на этот проект.
Это всего лишь генератор кода, а не универсальная система управления бэкендом. Можно создавать код любого формата на основе пользовательских шаблонов.
Генератор кода — это инструмент, важно разработать подходящие шаблоны. Это как если бы я дал вам станок, вы можете построить авианосец, если у вас есть чертежи, или не сможете сделать даже винт, если чертежей нет.
Демонстрационные шаблоны предназначены только для демонстрации основных функций тегов, сгенерированный код не подходит для реального использования, его можно только просмотреть.
В настоящее время нет интерфейса пользователя, что, вероятно, не является необходимым.
Проект основан на Eclipse + Gradle, пользователи IDEA и Maven могут настроить его самостоятельно.
Номер | Файл/каталог | Описание |
---|---|---|
1 | config/application.yml | Файл конфигурации параметров, конкретные настройки см. в соответствующих комментариях |
2 | config/mappings-postgresql-java.xml | Файл сопоставления типов, можно определить новые в соответствии с собственной базой данных и языком программирования, в application.yml установить mappingsFileName |
3 | jre | Временно не предоставляется, можно самостоятельно поместить jre ниже для удобства запуска на компьютере без установленных JDK и JRE |
4 | logs/output.log | Файл журнала вывода |
5 | output | Каталог вывода кода |
6 | target/tg-common-generator.jar | Исполняемый файл проекта jar |
7 | templates | Каталог шаблонов, можно хранить несколько наборов шаблонов и в application.yml устанавливать templateName для выбора используемого набора шаблонов |
8 | startup.bat | Скрипт запуска, запускается двойным щелчком мыши |
9 | startupWithJre.bat | Скрипт запуска с jar, см. описание jre выше |
Файл application.yml в каталоге config
Номер | Обязательно | Параметр | Имя | Значение по умолчанию | Описание |
---|---|---|---|---|---|
1 | Да | templateName | Шаблон имени | Нет | Возможно наличие нескольких шаблонов в каталоге шаблонов, необходимо указать используемый шаблон имени |
2 | Да | mappingsFileName | Имя файла сопоставления конфигурации | Нет | Имя файла конфигурации сопоставления в каталоге config, можно обратиться к примеру mappings-postgresql-java.xml |
3 | Да | defultFieldType | Тип по умолчанию | String | Возвращаемое имя типа по умолчанию при отсутствии соответствующего класса |
4 | Да | showDetailLogs | Отображать подробные журналы | Ложно | Можно изменить на истину, чтобы просмотреть тип sql, чтобы облегчить редактирование файла конфигурации пользовательского типа сопоставления |
5 | Да | projectName | Название проекта | Нет | Название проекта, например: tg-demo |
6 | Да | basePackage | Пакет | Нет | Пакет, например: com.turingoal.demo |
7 | Да | datasourceUrl | URL подключения к базе данных | Нет | URL подключения к базе данных, например: jdbc:postgresql://192.168.1.8:5432/tg-demo |
8 | Да | datasourceUsername | Имя пользователя базы данных | Нет | Имя пользователя базы данных, например: user |
--- | --- | -------------------------- | ------------------------------------------------------ | -------------------------------------------------------- | |
9 | 是 | datasourcePassword | 数据库连接密码 | 数据库连接密码,如:132456 | |
10 | 否 | projectTitle | 项目标题 | 如:图灵谷demo项目 | |
11 | 否 | projectTitleShort | 项目标题缩写 | 如:图灵谷demo | |
12 | 否 | prefixsNeedRemove | 需要移除的表前缀 | 英文逗号分隔,如:tg_c_,tg_m_ | |
13 | 否 | ignoreTables | 需要忽略的表 | 英文逗号分隔,如:tg_c_user,tg_c_role | |
14 | 否 | schema | 数据库schema | public | |
15 | 否 | templateBaseDir | 模板目录 | jar同级目录下的templates | |
16 | 否 | outputBaseDir | 输出目录 | jar同级目录下的output |
1、全局标签(可用于目录名、文件名、文件内)
序号 | 类型 | 标签 | 说明 |
---|---|---|---|
1 | 全局标签 | ${projectName} | 项目名称 |
2 | 全局标签 | ${projectTitle} | 项目标题 |
3 | 全局标签 | ${projectTitleShort} | 项目标题缩写 |
4 | 全局标签 | ${projectDesc} | 项目描述 |
5 | 全局标签 | ${basePackage} | 包名 |
6 | 全局标签 | ${datasourceUrl} | 数据库连接Url |
7 | 全 global 标签 | ${datasourceUsername} | 数据库连接用户名 |
8 | 全 global 标签 | ${datasourcePassword} | 数据库连接密码 |
9 | 全 global 标签 | ${schema} | 数据库schema |
2、目录名标签(只可用于目录名)
序号 | 类型 | 标签 | 说明 |
---|---|---|---|
1 | 目录名标签 | ${basePackage_dir} | 目录名:包名 |
2 | 目录名标签 | ${tableName_dir} | 目录名:表名 |
3 | 目录名标签 | ${tableNameUnderlineCase_dir} | 目录名:表名,下划线 |
4 | 目录名标签 | ${tableNameHyphenCase_dir} | 目录名:表名,中划线 |
5 | 目录名标签 | ${className_dir} | 目录名:类名 |
6 | 目录名标签 | ${classNameFirstLower_dir} | 目录名:类名首字母小写 |
7 | 目录名标签 | ${classNameUnderlineAndUpperCase_dir} | 目录名:类名下划线格式并转大写 |
8 | 目录名标签 | ${classNameHyphenAndUpperCase_dir} | 目录名:类名中划线格式并转大写 |
3、文件名标签(只可用于文件名)
序号 | 类型 | 标签 | 说明 |
---|---|---|---|
1 | 文件名标签 | ${tableName} | 文件名:表名 |
2 | 文件名标签 | ${tableNameUnderlineCase} | 文件名:表名,下划线 |
3 | 文件名标签 | ${tableNameHyphenCase} | 文件名:表名,中划线 |
4 | 文件名标签 | ${className} | 文件名:类名 |
5 | 文件名标签 | ${classNameFirstLower} | 文件名:类名首字母小写 |
6 | 文件名标签 | ${classNameUnderlineAndUpperCase} | 文件名:类名下划线格式并转大写 |
7 | 文件名标签 | ${classNameHyphenAndUpperCase} | 文件名:类名中横线格式并转大写 |
4、文件内表标签(只可用于文件内)
序号 | 类型 | 标签 | 说明 |
---|---|---|---|
1 | 文件内表标签 | ${table.tableName} | 表名 |
2 | 文件内表标签 | ${table.className} | 类名 |
3 | 文件内表标签 | ${table.classNameFirstLower} | 类名首字母小写 |
4 | 文件内表标签 | ${table.classNameUnderlineAndUpperCase} | 类名下划线格式并转大写 |
5 | 文件内表标签 | ${table.remarks} | 表备注 |
6 | 文件内列标签 | ${column.columnName} | 列名 |
7 | 文件内列标签 | ${column.fieldName} | 字段名 |
8 | 文件内列标签 | ${column.fieldNameFirstLower} | 字段名首字母小写 |
9 | 文件内列标签 | ${column.remarks} | 列备注 |
10 | 文件内列标签 | ${column.possibleType} | 类型,映射文件里配置的,如果没有选用默认类型 |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )