yes-no 发表于 2015-7-24 09:08:19

kunter-generator 1.3.2 版本发布,代码生成工具

腾讯SNG夏日招聘集结号:200个空缺岗位,JAVA、C++、云计算、Android……
  kunter-generator 参考 MyBatis 官方 generator 设计而成,参考版本为(1.3.2)。具有生成项目基础代码、根据数据库生成 Excel 格式的设计文档、根据Excel格式生成创建数据库脚本功能。为了方便项目随时更换底层,生成的基础代码独立目录,不建议对生成的代码进行修改;目前设计支持 Oracle、MySQL、PostgreSQL 特别声明:因为采用了 12c 特有分页语法,本工具 Oracle 暂时不支持 Oracle 12c 一下版本。
  *暂未实现功能:根据数据库生成Excel*
  ## 基础代码生成
  生成文件列表:
- BaseDAO
- DAO
- BaseMapper
- Mapper
- EO(实体)
- EOExample(实体对应查询条件)
- mybatis-config-*.xml
- CreateTableSQL-*.sql(从EXCEL设计文档生成指定数据库的建表语句)
- 表结构一览.xlsx(从数据库生成EXCEL设计文档)
  配置说明:
  ####1. 配置文件目录:/src/main/resources
  > 1.1 jdbc.properties
>> SourceType:数据源类型,可选择(DB、EXCEL)
  >> path.dictionary:数据字典目录,设置数据源类型为EXCEL时必须设值,支持中文目录 ** 注意路径,必须为双斜杠或者反斜杠 **


>> DB:数据库类型,必须设值,可选择(ORACLE、MYSQL、POSTGRESQL)


>> DB.xx:数据库连接属性,数据库类型相关连接属性,设置DB类型必须设值


> 1.2 config.properties
>> model:模块名称,默认表前缀,例:base


>> package:基础包名,所有包前缀,例:com.kunter


>> table:表名称,支持通配符 ** 数据源类型为EXCEL,则参数无效 建议使用EXCEL的时候分模块保存设计文档 **


>> target:输出目录,可以为绝对目录或者相对目录,例:target/ 当前kunter-generator下的target/


>>>根据以上配置,模拟生成如下所述文件:
>>>    * BaseDAO:com.kunter.base.dao.base
>>>    * DAO:com.kunter.base.dao
>>>    * BaseMapper:com/kunter/base/xml/base
>>>    * Mapper:com/kunter/base/xml
>>>    * EO:com.kunter.base.eo
>>>    * EOExample:com.kunter.base.eo
>>>    * mybatis-config-base.xml:指定的target目录下
>>>    * 如果target参数直接指定的开发项目,如果需要,手动将BaseMapper和Mapper挪到/src/main/resources
  ### Main
> org/generator/main/Generator.java


### 单文件生成
> org/generator/make/Make*.java


### DAO方法列表
* int countByExample(Example example);
* int countByExample_physical(Example example);
* List selectByExample(Example example);
* List selectByExample_physical(Example example);
* int insert( record);
* int insert_physical( record);
* int insertList(List record);
* int insertList_physical(List record);
* int insertSelective( record);
* int insertSelective_physical( record);
* int insertListSelective(List record);
* int insertListSelective_physical(List record);
* int updateByExample(@Param("record")record, @Param("example") Example example);
* int updateByExample_physical(@Param("record")record, @Param("example") Example example);
* int updateByExampleSelective(@Param("record")record, @Param("example") Example example);
* int updateByExampleSelective_physical(@Param("record")record, @Param("example") Example example);
* int deleteByExample(Example example);
* int deleteByExample_physical(Example example);
*selectByPrimaryKey(Map map);
*selectByPrimaryKey_physical(Map map);
* int updateByPrimaryKey( record);
* int updateByPrimaryKey_physical( record);
* int updateByPrimaryKeySelective( record);
* int updateByPrimaryKeySelective_physical( record);
* int deleteByPrimaryKey(Map map);
* int deleteByPrimaryKey_physical(Map map);
  > 为对应实体,ByPrimaryKey的方法有主键时生成,_physical包含表中所有数据,无_physical的包含删除标识未标识删除的数据
  ### 示例
  Example example = new Example();
      example.or().andxxEqualTo(XXX);
      example.or().andxxEqualTo(XXX);
      example.or().andxxEqualTo(XXX);
  List list = Dao.selectByExample(example);

#####或
  Example example = new Example();
      Example.Criteria criteria = example.createCriteria();
      criteria.andxxEqualTo(XXX);
      criteria.andxxEqualTo(XXX);
      criteria.andxxEqualTo(XXX);

      List list = Dao.selectByExample(example);
页: [1]
查看完整版本: kunter-generator 1.3.2 版本发布,代码生成工具