1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/kennyhu-code-generator

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 04:31 2ba6741

Код Генератор: лёгкий инструмент для генерации кода

Введение

CodeGenerator — это лёгкий инструмент для генерации кода, который может быть использован на начальных этапах разработки обычных проектов для создания model, dao, Mapper, mapper (mybatis), service и controller. Идея проекта основана на mybatis-generator, но код более лаконичный и легко контролируемый.

  • Исправление проблемы с SQL-ошибками при использовании ключевых слов в полях: ключевые слова автоматически дополняются символами разбора.
  • Оптимизация типов данных: свойства tinyint преобразуются в Integer, а text — в String.

Особенности

  1. Код можно запустить двумя способами: загрузить исходный код и запустить AppTest для тестирования или использовать плагин maven. Рекомендуется второй способ.
  2. Можно настроить генерацию модулей кода, например, только model, dao и Mapper. Конфигурация выполняется через файл конфигурации. Также можно настроить каталог генерации. Правила настройки основаны на соглашениях, а не на конфигурации.
  3. Можно изменять пользовательские шаблоны стилей.

Использование

  1. Проверьте исходный код локально. Если необходимо запустить тестовые примеры локально, обратитесь к AppTest.
public class AppTest {

    private static ApplicationContext context;

    private static GeneratorFactoryImpl generatorFactory;

    @BeforeClass
    public static void beforeClass() {
        try {
            context = new ClassPathXmlApplicationContext("classpath:spring-generator.xml");
            generatorFactory = (GeneratorFactoryImpl) context.getBean("generatorFactory");
        } catch (BeansException e) {
            e.printStackTrace();
        }
    }

    @AfterClass
    public static void doAfter() {
        if (context != null && context instanceof ClassPathXmlApplicationContext) {
            ((ClassPathXmlApplicationContext) context).close();
        }
    }

    @Test
    public void codeGeneratorTest() {
        generatorFactory.defaultGeneratorStarter();
    }
}
  1. Перед запуском необходимо изменить spring-generator.xml и настроить генератор для каждого модуля.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id="modelPackageConfigTypes" class="com.gitee.mybatis.config.PackageConfigTypes">
        <constructor-arg name="type" value="MODEL"/>
        <constructor-arg name="packageConfigTypeSet">
            <set>
                <bean class="com.gitee.mybatis.config.PackageConfigType">
                    <property name="aliasType" value="poPackage"/>
                    <property name="targetDir" value="/po"/>
                    <property name="fileNameSuffix" value="PO.java"/>
                    <property name="template" value="domain_po.vm"/>
                </bean>
                <bean class="com.gitee.mybatis.config.PackageConfigType">
                    <property name="aliasType" value="modelPackage"/>
                    <property name="targetDir" value="/model"/>
                    <property name="fileNameSuffix" value="Model.java"/>
                    <property name="template" value="domain_model.vm"/>
                </bean>
            </set>
        </constructor-arg>
    </bean>

    <bean id="mapperPackageConfigTypes" class="com.gitee.mybatis.config.PackageConfigTypes">
        <constructor-arg name="type" value="MAPPER"/>
        <constructor-arg name="packageConfigTypeSet">
            <set>
                <bean class="com.gitee.mybatis.config.PackageConfigType">
                    <property name="targetDir" value="/dao/mapper"/>
                    <property name="fileNameSuffix" value="Mapper.xml"/>
                    <property name="template" value="dao_sqlMapper.vm"/>
                </bean>
                <bean class="com.gitee.mybatis.config.PackageConfigType">
                    <property name="aliasType" value="mapperPackage"/>
                    <property name="targetDir" value="/dao"/>
                    <property name="fileNameSuffix" value="DAO.java"/>
                    <property name="template" value="dao_mapper.vm"/>
                </bean>
            </set>
        </constructor-arg>
    </bean>

    <bean id="mapperConfigPackageConfigTypes" class="com.gitee.mybatis.config.PackageConfigTypes">
        <constructor-arg name="type" value="MAPPER_CONFIG"/>
        <constructor-arg name="packageConfigTypeSet">
            <set>
                <bean class="com.gitee.mybatis.config.PackageConfigType">
                    <property name="targetDir" value="/dao/mapper"/>
                    <property name="fileNameSuffix" value="mybatis-config.xml"/>
                    <property

``` **3. Перед запуском необходимо изменить config-generator.properties и настроить информацию о соединении с базой данных.**

```properties
##mysql соединение
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/shiro
jdbc.username=root
jdbc.password=root

generator.authorName=HuJiFang

##генерировать ли комментарии
generator.annotation=false

##местоположение генерации кода
generator.location=src

##имя проекта
generator.project.name=main

##какие слои генерировать
generator.layers=mapper,mapperConfig,model,service,result

##базовое имя пакета
generator.basePackage=com.gitee.code.temp

##имена таблиц, разделенные запятыми
generator.tables=sys_privilege_menu

##префикс для фильтрации таблиц
generator.table.prefix=sys_

#суффикс для фильтрации таблиц
generator.table.suffix=

#префикс для удаления из полей таблиц
generator.column.prefix=F

##точность: BigDecimal или Double
generator.precision=high

4. Использование плагина Maven

В файле pom.xml определите плагин:

<plugin>
    <groupId>com.oneplus.maven.plugins</groupId>
    <artifactId>code-generator</artifactId>
``` ```
<version>${codeGenerator.version}</version>
</plugin>

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/kennyhu-code-generator.git
git@api.gitlife.ru:oschina-mirror/kennyhu-code-generator.git
oschina-mirror
kennyhu-code-generator
kennyhu-code-generator
master