Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

hehetown/CodeGenerator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

19 Commits

Repository files navigation

Java代码生成器

介绍

这是一个基于数据库表
用来自动生成 Model & Mapper & Service & ServiceImpl & Controller 等代码的代码生成器
使用者可以通过修改ftl模板来生成自己所需的基本代码块
主要是为了解决日常工作、练习中代码的重复工作量
目前仅支持 Mybatis 底层代码的生成

目录结构

|——src	
	|——main 
|		|——java					// 存放生成的代码
	|
|		|——resource
	|
|		|	|——mapper			// 存放生成的 Mapper.xml 文件
	|
|
	|——test
|		|——java					// 存放生成器的代码
	|
|		|	|——com
	|
|		|	|	|——codegen
	|
|		|	|	|	|——main
	|
|						|——CodeGeneratorMain.java // 代码生成器启动项
	|
|		|	|	|	|——service
	|
|						|——CodeGeneratorManager.java // 代码生成器基础项 (常量信息&通用方法)
	|
|						|——CodeGenerator.java // 主要逻辑接口
	|
|		|	|	|	|	|——impl
	|
|							|——ControllerGenerator.java // Controller层 代码生成器
	|
|							|——ServiceGenerator.java // Service层 代码生成器
	|
|							|——ModelAndMapperGenerator.java // Model&Mapper 代码生成器
	|
	|
|		|	|	|	|——util
	|
|						|——StringUtils.java // 字符串操作常用方法集
	|
|		|——resource
	|
|		|	|——generator
	|
|		|	|	|——template				// 存放ftl模板代码
	|		
|					|——controller.ftl	// Controller 模板代码
	|		
|					|——service.ftl		// Service 模板代码
	|		
|					|——service-impl.ftl	// ServiceImpl 模板代码

使用说明

  1. 进入到 src/test/java 目录下
    找到CodeGeneratorMain类 为生成器的启动项
    直接 Run As Java Application 运行即可
  2. 如果需要修改数据库配置信息,或者存储路径的相关配置信息
    进入到 src/test/java/com/codegen/service 目录下
    找到CodeGeneratorManager类,在其中修改静态变量即可,后期将会调整至配置文件中
  3. 新增 Mapper 通用插件&分页插件
    已经固定放置 src/main/java/com/bigsea/sns/dao
    src/main/java/com/bigsea/sns/service 两个包下
    使用者可以根据自已定义的路径存放
    但是需要注意的是 MyMapper 接口存放的路径最好不要被 Mybatis 扫描到, 会出现异常
  4. 目前提供三个入口:
    以表名 gen_test_demo 为例子, 主要是以下几种情况:
  • gen_test_demo ==> Demo 可以传入多表
    genCodeWithSimpleName("gen_test_demo");
  • gen_test_demo ==> GenTestDemo 可以传入多表
    genCodeWithDetailName("gen_test_demo");
  • gen_test_demo ==> IDemo 自定义名称
    genCodeWithCustomName("gen_test_demo", "IDemo");
  1. 如果需要生成自己所需的 Controller & Service & ServiceImpl 样式
    进入到 src/test/resources/generator/template 目录下
    修改对应的ftl文件即可
  2. 推荐表名的格式类似 gen_test_userinfo 需要下划线分割
    gen 作为项目别名
    test 作为区分字段, 用于分包
    userinfo 可作为实体类名
    当然表名也可以为 gen_test_user_infogen_test_userinfo 类似
  3. 使用过程仍存在相关Bug
    您可以将详情发送至我的邮箱bigsea1994@gmail.com
    万分感激

相关参考文档



加入我们一起交流学习吧!

Github交流群: Github交流群

About

根据数据表结构,自动生成Model&Mapper&Service&ServiceImpl&Controller代码

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /