autocode java_GitHub - mlizhenbin/mybatis-autocode: mybatis自动生成代码工具

mybatis-autocode是一款能连接Mysql/Oracle数据库,自动生成Mybatis映射文件和业务代码的工具,旨在提高开发效率,减少手动编写代码的工作。支持通过Java Main方法和Maven插件两种方式执行,配置文件包括autocode-generator.properties和log4j.properties。通过配置文件设置数据库连接信息,指定生成代码的位置、包名、表名等,能够生成mapper、model、service等代码层。
摘要由CSDN通过智能技术生成

AutoCode

Mybatis自动化逆向生成业务代码组件

JDBC连接Mysql/Oracle数据库, 自动化生成Mybatis映射文件和业务层代码, 减少手动创建代码的繁琐工作,提升开发业务功能效率;保持底层DAO风格的一致性, 减少配置等.

一、引入依赖

在pom.xml文件中引入autocode依赖

1.0.3-SNAPSHOT

...

org.lzbruby.maven.plugins

autocode-plugin

${autcode.plugin.version}

...

...

org.lzbruby.maven.plugins

autocode-plugin

${autcode.plugin.version}

...

二、配置文件

工程项目中集成

eg.png

1、autocode-generator.properties

集成到工程项目使用autocode, 必须先在工程项目下, 配置好生成代码的配置文件,具体配置参数如下:

#Mysql连接配置

jdbc.driverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://mysql

jdbc.username=root

jdbc.password=

# oracle

oracle.jdbc.driverClassName=oracle.jdbc.driver.OracleDriver

oracle.jdbc.url=jdbc:oracle:thin:@oracle

oracle.jdbc.username=

oracle.jdbc.password=

# oracle table primaryKey

oracle.primaryKey.name=HEADER_ID

# 生成table schema

oracle.schema=APPS

#生成代码位置

generator.location=code

#文件包名称

generator.project.name=main

#包名称

generator.package=org.lzbruby.code.template

#表名称,多个用逗号分隔(,)

generator.tables=rl_sales_order

#过滤掉代码表的前缀

generator.tablePrefix=rl_

#domain后缀

generator.domain=DO

#浮点型转化为:BigDecimal,否则转化为:Double

generator.precision=high

#生成代码位置

java.src=java

#配置生成代码层, 目前支持:mapper,model,service,domain,manage,controller,vo,result,jsp

generator.layers=mapper,model,service,domain

# 联系邮箱后缀

email.suffix=@lzbruby.org

# 所属组织

org=lzbruby.org

2、log4j.properties

autocode自动化逆向生成代码的log信息配置

二、AutoCode工作方式

Autocode提供了Java Main方法的方式和Maven插件的两种方式执行生成代码.

1、Main方法

直接在Autocode下找到对应的Starter方法执行Main方法启动

MysqlMybatisGeneratorStarter

public class MysqlMybatisGeneratorStarter {

/**

* sl4j

*/

private static final Logger LOGGER = LoggerFactory.getLogger(MysqlMybatisGeneratorStarter.class);

public static void main(String[] args) {

GeneratorStarter starter = new MysqlDefaultGeneratorStarter();

starter.start();

LOGGER.info("auto plugin Generator code finish...");

}

}

OracleMybatisGeneratorStarter

public class OracleMybatisGeneratorStarter {

/**

* sl4j

*/

private static final Logger LOGGER = LoggerFactory.getLogger(OracleMybatisGeneratorStarter.class);

public static void main(String[] args) {

GeneratorStarter starter = new OracleDefaultGeneratorStarter();

starter.start();

LOGGER.info("auto plugin Generator code finish...");

}

}

2、Maven插件

在工程项目中依赖autocode, 然后使用maven命令执行生成代码

执行Maven命令

Mysql:

mvn autocode:mysql

Oracle:

mvn autocode:oracle

三、Result日志输出

Main Autocode日志:

2016-05-12 15:59:31 - org.lzbruby.mybatis.generat.config.DefaultGeneratorConfigurer.loadProperties(DefaultGeneratorConfigurer.java:156) - INFO: 加载配置文件/Users/a11/git/mybatis-autocode/src/main/resources/autocode-generator.properties

2016-05-12 15:59:31 - org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:510) - INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@12d3e679: startup date [Thu May 12 15:59:31 CST 2016]; root of context hierarchy

2016-05-12 15:59:31 - org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:315) - INFO: Loading XML bean definitions from class path resource [autocode-generator.xml]

2016-05-12 15:59:32 - org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:598) - INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4ad98e85: defining beans [controllerGenerator,managerGenerator,oracleMapperGenerator,mapperGenerator,modelGenerator,resultGenerator,serviceGenerator,domainGenerator,voGenerator,jspGenerator,generatorFacade]; root of factory hierarchy

2016-05-12 15:59:32 - org.lzbruby.mybatis.generat.starter.impl.MysqlDefaultGeneratorStarterImpl.generator(MysqlDefaultGeneratorStarterImpl.java:79) - INFO: 代码生成工具,开始自动生成代码...

2016-05-12 15:59:33 - org.lzbruby.mybatis.generat.MysqlMybatisGeneratorStarter.main(MysqlMybatisGeneratorStarter.java:26) - INFO: auto plugin Generator code finish...

Maven Plugin Autocode日志:

[INFO] Scanning for projects...

[INFO]

[INFO] ------------------------------------------------------------------------

[INFO] Building autocode 1.0.3-SNAPSHOT

[INFO] ------------------------------------------------------------------------

[INFO]

[INFO] --- autocode-plugin:1.0.3-SNAPSHOT:mysql (default-cli) @ autocode-plugin ---

[INFO] 加载配置文件/Users/a11/git/mybatis-autocode/src/main/resources/autocode-generator.properties

2016-05-12 16:00:43 - org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:510) - INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@326baff1: startup date [Thu May 12 16:00:43 CST 2016]; root of context hierarchy

2016-05-12 16:00:43 - org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:315) - INFO: Loading XML bean definitions from class path resource [autocode-generator.xml]

2016-05-12 16:00:44 - org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:598) - INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1b08f35f: defining beans [controllerGenerator,managerGenerator,oracleMapperGenerator,mapperGenerator,modelGenerator,resultGenerator,serviceGenerator,domainGenerator,voGenerator,jspGenerator,generatorFacade]; root of factory hierarchy

[INFO] 代码生成工具,开始自动生成代码...

[INFO] auto plugin Generator code finish...

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 1.846 s

[INFO] Finished at: 2016-05-12T16:00:45+08:00

[INFO] Final Memory: 16M/245M

[INFO] ------------------------------------------------------------------------

四、历史版本

1.0.3-SNAPSHOT, 基本的业务代码生成.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您是不是因为java的开发和维护繁琐而烦恼,目前政府机关、企业大都要求用java来开发项目,本软件将彻底解决您的后顾之忧,通过本软件的自动生成功能,生成的java代码规范、全部开源,不存在用隐含的内容,全部代码逻辑开源的展示给客户,符合J2EE的MVC开发模式结合工厂模式,代码通俗易懂,只要稍微有点java常识的人就可以使用本软件来开发大型的java项目,本工作室的开发团队汲取多位资深开发人员多年的项目开发经验开发出本软件,目前使用本软件的模式开发的项目不下十个,全部是政府部门的系统。使用本软件从最基本的VO对象到JSP页面的新增、删除、修改、查询等功能一起生产,代码功能一一俱全。您只需要稍微做下界面的排版即可使用到实际的项目中了。 1、使用本软件做开发的优势: 如果您是java开发人员,一定会为每天开发中大量的重复拷贝、粘 贴代码(如分页等功能)而感到烦恼,又或为java对模式开发的繁琐关联配置而显得无可奈何时。使用本软件可以自动生成代码、建立页面关联。开发人员只要前期对业务了解清楚,数据库表设计明确,用本软件即可完成程序的编写。 如果您是经常使用Hibernate或其他插件的java开发人员,一定会为Hibernate或其他插件的配置部署问题而搞懵,这些类型的插件有个最大的问题是其核心操作均是由该插件的内部完成,对开发人员来说是个黑匣子(一般用户不会去读其开源代码),而且多个项目用同类型的插件部署到一部服务器上的时候,很容易造成版本冲突,且出现莫名其妙的问题。这些插件产生的冗余代码,也让开发人员不舒服。使用本软件生成的代码,全部开源,结构清晰,在您的开发工程中绝对不需要引用任何插件或链接库。 如果您是公司或项目负责人,一定会遇到这样的情况,公司拥有众多的java开发高手,而开发习惯也各式各样,因而对项目接手的维护人员的技术要求也相应需要提高,这样项目的投入成本自然增加,而企业的利润也相应减少。没有统一开发的模式,对项目的后期维护是一个相当痛苦的过程,何况IT界人才流动频繁,项目的交接也是常有的问题。使用本软件的自动生成代码,符合J2EE的MVC开发模式结合工厂模式,展示、业务、逻辑、存储的分层实现,代码的编写已分门归类,重要体现了“桥归桥,路归路”的理念,这样对任何需要尽快熟悉项目的人员,一定可以在短时间内理解项目的架构思想,很快上手。 2、本软件自动生成的内容: ★ VO、POJO对象 ★ DAO接口 ★ IMPL接口实现类 ★ DAO工厂 ★ VO、POJO工厂 ★ DBC数据库连接管理类,数据库事务处理机制 ★ Servlet业务处理及其配置文件 ★ JSP调用页面(增、删、改、查),分页功能自动实现 3、特色: ☆ 一键生成,简洁使用。 ☆ 生成的代码全部开源,没有任何通过插件或链接库来做的操作。 ☆ 支持多表的多主键处理。 ☆ 支持数据事务的操作。 ☆ 生成内容可以依据客户的需要来选择性的生成。 ☆ 支持自定义查询接口的生成,用户可以定义查询条件。 ☆ 生成的jsp文件及servlet完全处理好了精度字段的精度及显示处理。 ☆ 目前支持Oracle、Sqlserver 数据库对象的自动生成代码
AutoCode代码生成器宗旨:简洁、实用、高效、协作   您是不是因为java的开发和维护繁琐而烦恼,目前政府机关、企业大都要求用java来开发项目,本软件将彻底解决您的后顾之忧,通过本软件的自动生成功能,生成的java代码规范、全部开源,不存在用隐含的内容,全部代码逻辑开源的展示给客户,符合J2EE的MVC开发模式结合工厂模式,代码通俗易懂,只要稍微有点java常识的人就可以使用本软件来开发大型的java项目,本工作室的开发团队汲取多位资深开发人员多年的项目开发经验开发出本软件,目前使用本软件的模式开发的项目不下十个,全部是政府部门的系统。使用本软件从最基本的VO对象到JSP页面的新增、删除、修改、查询等功能一起生产,代码功能一一俱全。您只需要稍微做下界面的排版即可使用到实际的项目中了。  1、使用本软件做开发的优势: 如果您是java开发人员,一定会为每天开发中大量的重复拷贝、粘贴代码(如分页等功能)而感到烦恼,又或为java对模式开发的繁琐关联配置而显得无可奈何时。使用本软件可以自动生成代码、建立页面关联。开发人员只要前期对业务了解清楚,数据库表设计明确,用本软件即可完成程序的编写。   如果您是经常使用Hibernate或其他插件的java开发人员,一定会为Hibernate或其他插件的配置部署问题而搞懵,这些类型的插件有个最大的问题是其核心操作均是由该插件的内部完成,对开发人员来说是个黑匣子(一般用户不会去读其开源代码),而且多个项目用同类型的插件部署到一部服务器上的时候,很容易造成版本冲突,且出现莫名其妙的问题。这些插件产生的冗余代码,也让开发人员不舒服。使用本软件生成的代码,全部开源,结构清晰,在您的开发工程中绝对不需要引用任何插件或链接库。  如果您是公司或项目负责人,一定会遇到这样的情况,公司拥有众多的java开发高手,  而开发习惯也各式各样,因而对项目接手的维护人员的技术要求也相应需要提高,这样项目的投入成本自然增加,而企业的利润也相应减少。没有统一开发的模式,对项目的后期维护是一个相当痛苦的过程,何况IT界人才流动频繁,项目的交接也是常有的问题。使用本软件的自动生成代码,符合J2EE的MVC开发模式结合工厂模式,展示、业务、逻辑、存储的分层实现,代码的编写已分门归类,重要体现了\"桥归桥,路归路\"的理念,这样对任何需要尽快熟悉项目的人员,一定可以在短时间内理解项目的架构思想,很快上手。 2、本软件自动生成的内容:     ★ VO、POJO对象     ★ DAO接口     ★ IMPL接口实现类     ★ DAO工厂     ★ VO、POJO工厂     ★ DBC数据库连接管理类,数据库事务处理机制     ★ Servlet业务处理及其配置文件     ★ JSP调用页面(增、删、改、查),分页功能自动实现  3、特色:     ☆ 一键生成,简洁使用。     ☆ 生成的代码全部开源,没有任何通过插件或链接库来做的操作。     ☆ 支持多表的多主键处理。     ☆ 支持数据事务的操作。     ☆ 生成内容可以依据客户的需要来选择性的生成。     ☆ 支持自定义查询接口的生成,用户可以定义查询条件。     ☆ 生成的jsp文件及servlet完全处理好了精度字段的精度及显示处理。     ☆ 目前支持Oracle、Sqlserver 数据库对象的自动生成代码。  4、购买联系方式:  50元/一个授权号 ,5个以上8折优惠   Email通讯邮箱 :autocode@126.com QQ留言:915842778 5、温馨提示      您付款后,在试用版的\"用户试用说明\"菜单里有机器码,您只需要把该机器码和您的姓名发邮件到autocode@126.com即可,我们会以最快的速度把注册信息及正式版发给您!谢谢您的支持! 作为生成规范、标准Java代码之利器,AutoCode 您值得拥有!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值