<commit_before># GGCode
源代码生成器，通过对数据表和数据列的元数据分析, 生成项目源代码。
## 基础框架
源代码生成框架: [rapid-framework](https://code.google.com/archive/p/rapid-framework/)

UI框架: [sb-admin-2](https://startbootstrap.com/template-overviews/sb-admin-2/) 

代码框架: SpringMVC + mybatis + Velocity。

代码架构: 经典三层架构(MVC), 增加rpc模块做为调用三方api模块, 增加manager模块设置为缓存层与事务层。

主要转换规则:

1. 数据表与数据列的注释做为UI展示title。
2. 数据列的为空性、数据长度和是否可为空等属性转换为javax.validation的判断规则。
3. 数据列的数据类型转换为实体对象属性的数据类型。

## 集成功能
1. 增加shiro做为权限管理框架。
2. 为文档数据存储添加MongoDB支持。
3. 为缓存增加Redis支持, 且自动配置Spring Cache为Redis缓存。
4. 以Velocity做为页面模板语言。
5. 增加javax.validation为服务端验证框架。且Controller自动验证传入参数。
6. 采用bonecp对数据库连接池化管理。
7. spring的响应数据采用多视图配置。

## 如何使用?
* 默认支持mariadb与mysql数据库环境下运行，在bin目录中通过配置generator.xml后直接`java -jar GGCode-0.0.1.jar`
* 当在使用其它类型的数据库运行时，需要import相应的数据库驱动jar。
主要操作方法有两个:
1、fork源码在pom.xml中增加数据库驱动依赖，重新打包再以jar -jar GGCode-xxx.jar运行
2、将驱动包下载到GGCode-0.0.1.jar同级目录，使用java -cp GGCode-0.0.1.jar:[driver.jar] App运行(windows则使用java -cp GGCode-0.0.1.jar;[driver.jar] App运行)

## generator.xml配置说明
详见generator.xml注释
<commit_msg>增加非mysql数据库环境下使用说明<commit_after># GGCode
源代码生成器，通过对数据表和数据列的元数据分析, 生成项目源代码。
## 基础框架
源代码生成框架: [rapid-framework](https://code.google.com/archive/p/rapid-framework/)

UI框架: [sb-admin-2](https://startbootstrap.com/template-overviews/sb-admin-2/) 

代码框架: SpringMVC + mybatis + Velocity。

代码架构: 经典三层架构(MVC), 增加rpc模块做为调用三方api模块, 增加manager模块设置为缓存层与事务层。

主要转换规则:

1. 数据表与数据列的注释做为UI展示title。
2. 数据列的为空性、数据长度和是否可为空等属性转换为javax.validation的判断规则。
3. 数据列的数据类型转换为实体对象属性的数据类型。

## 集成功能
1. 增加shiro做为权限管理框架。
2. 为文档数据存储添加MongoDB支持。
3. 为缓存增加Redis支持, 且自动配置Spring Cache为Redis缓存。
4. 以Velocity做为页面模板语言。
5. 增加javax.validation为服务端验证框架。且Controller自动验证传入参数。
6. 采用bonecp对数据库连接池化管理。
7. spring的响应数据采用多视图配置。

## 如何使用?
* 默认支持mariadb与mysql数据库环境下运行，在bin目录中通过配置generator.xml后直接`java -jar GGCode-0.0.1.jar`
* 当在使用其它类型的数据库运行时，需要import相应的数据库驱动jar。
主要操作方法有两个:
1. fork源码在pom.xml中增加数据库驱动依赖，重新打包再以jar -jar GGCode-xxx.jar运行
2. 将驱动包下载到GGCode-0.0.1.jar同级目录，使用java -cp GGCode-0.0.1.jar:[driver.jar] App运行(windows则使用java -cp GGCode-0.0.1.jar;[driver.jar] App运行)

## generator.xml配置说明
详见generator.xml注释

{'fraction_non_alphanumeric': 0.12709030100334448, 'fraction_numerical': 0.024844720496894408, 'mean_word_length': 6.505376344086022, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 8}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2575009', 'n_tokens_mistral': 1347, 'n_tokens_neox': 1552, 'n_words': 120}