# df-db-tool **Repository Path**: smalltree/df ## Basic Information - **Project Name**: df-db-tool - **Description**: JdbcTemplate 代码生成器,类似Mybatis-Generator-Core 主要帮助喜欢JdbcTemplate的朋友使用。本人厌倦了Mybatis的XML,所有的SQL都要写在XML文件中,在跟踪问题时频繁进行XML与JAVA文件间的切换,个人感觉太麻烦,而且Mybatis的批量操作相对于JdbcTemplate不太友好,但若使用JdbcTemplate 时,没有找到自动生成domain、SQL,PreparedStatementSetter、RowMapper等代码的工具,若字段少手动敲敲还可以,但是若业务字段数据量大,手动敲打的工作量有很庞大,不利于研发,基于此中原因,个人参考Mybatis-Generator-Core 打造了此款工具,可实现自动化生成VO、Controlle, Service 接口、Service 实现类,Domain,Dao等代码,另外本人针对JdbcTemplate 的分页也实现了基于注解的封装,若有需要共同探讨,爱好技术的人,可以与本人联系共同探讨(JdbcTemplate 分页插件此处暂不提供,若有共同爱好着请微信联系我) - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2020-04-13 - **Last Updated**: 2021-07-16 ## Categories & Tags **Categories**: code-generator **Tags**: None ## README # df-db-tool #### 介绍 JdbcTemplate 代码生成器,类似Mybatis-Generator-Core 主要帮助喜欢JdbcTemplate的朋友使用。 本人厌倦了Mybatis的XML,所有的SQL都要写在XML文件中,在跟踪问题时频繁进行XML与JAVA文件间的切换,个人感觉太麻烦,而且Mybatis的批量操作相对于JdbcTemplate不太友好,但若使用JdbcTemplate 时,没有找到自动生成domain、SQL,PreparedStatementSetter、RowMapper等代码的工具,若字段少手动敲敲还可以,但是若业务字段数据量大,手动敲打的工作量有很庞大,不利于研发。 基于此中原因,个人参考Mybatis-Generator-Core 打造了此款工具,可实现自动化生成VO、Controlle, Service 接口、Service 实现类,Domain,Dao等代码。 另外本人针对JdbcTemplate 的分页也实现了基于注解的封装,若有需要共同探讨,爱好技术的人,可以与本人联系共同探讨(JdbcTemplate 分页插件此处暂不提供,若有共同爱好者请微信联系我,微信:llittleTree)。 本工具目前只封装了针对MySQL数据库生成器,后续完善支持其他版本数据库的生成器 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 本工具尚未封装maven插件,若有需要后续提供。 注:只支持MySQL 5.7以上版本 本工具使用的时候本人建议,单独创建一个项目,以写入口方法main函数的方式调用,如下: public class MkAllApplication { public static void main(String[] args) { ToolInfo info = new ToolInfo(); //指定项目的基础包路径 info.setBasePackage("org.df.dbd"); //指定需要生成项目的路径 info.setWorkPath("D:\\workspace\\rd"); //指定javadoc的作者,若不指定工具自动以读取操作系统用户名字 info.setAuthor("smallTree"); //mysql 驱动类 info.setDriver("com.mysql.cj.jdbc.Driver"); info.setDbUrl("jdbc:mysql://127.xxx.xxx.xxx:3306/db_dev"); //数据库名称 info.setDbSchema("XXX"); //数据库用户 info.setDbUser("XXX"); //数据库密码 info.setDbPassword("XXX"); //生成代码的表名称 info.setTableName("table_name"); //设置为true,全量模式生成,包含vo,Controller,Service,ServiceImpl,Dao,domain info.setCtAll(false); //设置为true 只生成 dao,domain // info.setCtDao(true); //设置成true 只生成 Vo javaBean info.setCtVo(true); Task task = new Task(info); task.execute(); } } 建议:本工具会自动抓取数据库表中字段的注释,并将其作为Javabean的注释,所以建议创建表结构时加上表的中文注释,效果体验更加。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)