文档章节

kunter-generator

angelsinklow
 angelsinklow
发布于 2015/06/08 21:27
字数 719
阅读 38
收藏 0

kunter-generator

特别声明:因为采用了12c特有分页语法,本工具Oracle暂时不支持Oracle 12c一下版本

本工具参考MyBatis官方generator设计而成,参考版本为(1.3.2)。具有生成项目基础代码、根据数据库生成Excel格式的设计文档、根据Excel格式生成创建数据库脚本功能, 为了方便项目随时更换底层,生成的基础代码独立目录,不建议对生成的代码进行修改;目前设计支持Oracle、MySQL、PostgreSQL

暂未实现功能:根据数据库生成Excel、根据Excel生成SQL脚本以及PostgreSQL支持

基础代码生成

生成文件列表:

  • BaseDAO

  • DAO

  • BaseMapper

  • Mapper

  • EO(实体)

  • EOExample(实体对应查询条件)

  • mybatis-config-*.xml

配置说明:

1. 配置文件目录:/src/main/resources

1.1 jdbc.properties

[a] SourceType:数据源类型,可选择(DB、EXCEL)

[b] path.dictionary:数据字典目录,设置数据源类型为EXCEL时必须设值,支持中文目录 ** 注意路径,必须为双斜杠或者反斜杠 **

[c] DB:数据库类型,设置数据源类型为DB时必须设值,可选择(ORACLE、MYSQL、POSTGRESQL)

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

1.2 config.properties

[a] model:模块名称,默认表前缀,例:base

[b] package:基础包名,所有包前缀,例:com.kunter

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

[d] 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);

技术交流

开源赞助

Git@OSC


© 著作权归作者所有

共有 人打赏支持
angelsinklow
粉丝 3
博文 1
码字总数 719
作品 0
广州
架构师
私信 提问
加载中

评论(1)

猪头520530
猪头520530
贊一個
nature/kunter-generator

kunter-generator Git@OSC GitHub Bitbucket Coding 因服务器问题,Maven私库无法提供服务,如需下载kunter-base包请私信我 特别声明:因为采用了12c特有分页语法,本工具Oracle暂时不支持O...

nature
2015/06/03
0
0
kunter-generator 1.3.2 版本发布,代码生成工具

kunter-generator 参考 MyBatis 官方 generator 设计而成,参考版本为(1.3.2)。具有生成项目基础代码、根据数据库生成 Excel 格式的设计文档、根据Excel格式生成创建数据库脚本功能。为了方...

angelsinklow
2015/06/09
677
0
代码生成工具--kunter-generator

Kunter 代码生成工具。从数据库和 Excel 模板读取表结构生成基于 MyBatis 的 DAO、SQLMap 和 EO,实现了从 Excel 生成数据库建表脚本和从数据库生成 Excel 设计文档。支持 Oracle 12c MySQL...

angelsinklow
2015/06/10
2K
1
nature/kunter-constant

kunter-constant Git@OSC GitHub Bitbucket Coding 更新日志 基础数据生成 生成文件列表: 数据模板 SQL(基础数据插入脚本) Java(系统常量类) 配置说明: ####1. 配置文件目录:/src/ma...

nature
2015/11/23
0
0
python3: yield from

python3: yield from Python 3: Using "yield from" in Generators - Part 1 yield from 后面跟一个generator。 运行结果如下: 可以用yield from简化代码:...

樂天
2015/12/13
233
0

没有更多内容

加载失败,请刷新页面

加载更多

虚拟化 - KVM 和 Xen 比较

Linux虚拟化技术的用户目前有两种免费的开源管理程序可以选择:Xen和KVM。 作为较早出现的虚拟化技术,Xen是“第一类”运行在裸机上的虚拟化管理程序(Hypervisor),也是当前相当一部分商业...

临江仙卜算子
28分钟前
1
0
给windows server中的“未识别的网络”或“无法识别的网络”设置网络位置类型

在windows server中,如果网络没有被正确的识别,那么就需要手工设置一下网络位置类型。 将“公用网络”指定设置为“专用网络“ 【控制面板】--【系统和安全】--【管理工具】--【本地安全策略...

gugudu
今天
2
0
阿里强制要求的21条Java开发规范,可以避免很多坑

1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。 2. 【强制】所有的覆写方法,必须加@Override注解。 说明:getObject...

天王盖地虎626
今天
10
0
oracle dg 备库未设置convert参数导致ORA-01111,ORA-01110

查看trace 文件: MRP0: Background Managed Standby Recovery process started (amls) started logmerger process Sun Jan 20 07:55:53 2019 Managed Standby Recovery starting Real Time ......

hnairdb
今天
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linux-tao
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部