神兽坐镇!!
...
...
OK,进入主题,上篇说到了代码生成工具,只是演示了一下简单的操作流程。那么,说好了,这篇是贴码文,在贴码之前先大体说下原理吧(大神止步吧...)......

说到需要生成文件,不得不说说在项目开发中那些让码农们头疼的事:在项目开发中最让人头疼的就是把数据库表字段对应成java实体属性,一个数据库如果有几十个表,单单靠手写java实体的话,等项目上线了,估计实体刚建完

伦理片 http://www.dotdy.com/

再一个就是对数据库进行操作的mapper文件,一般的业务上都包括增删改查(批/单),以及对应实体的resultMap定义。此项工作如果没有工具的帮助,就相当于重复造轮子。因为增删改查(批/单)区别就在于表名不同、resultMap区别就在于字段不同
......
以上只是简单的举证了一下(不要嫌俺啰嗦,俺只是深恶痛绝...),说回俺这个代码生成工具,原理莫过于获取系统中的数据库列表,根据数据库获取单个数据库下的所有数据表,最后一步是最重要也是最麻烦的,要获取数据表中的字段、字段类型、字段注释等等,因为要根据字段类型生成对应的java类型变量。
(神马~~!!这TM就是所谓的原理?酱简单?你TM是不是唬我?)
没错,就是这么简单,天地良心

下面到重点部分了,贴码!!

  • 获取所有数据库
/*** @Description 获取数据库列表* @author zhangyd* @date 2015年12月9日 上午10:17:33* @param mybatisSqlForm* @return*/publicList<String> getDbNameList(TableForm mybatisSqlForm){List<String> list =newArrayList<String>();ResultSet rs =null;Connection conn =null;Statement statement =null;try{String sql ="show databases";rs = getResultSet(conn, statement, mybatisSqlForm.getDbAddress(), mybatisSqlForm.getDbLoginName(),mybatisSqlForm.getDbPassword(), sql.toString());while(rs.next()){list.add(rs.getString(1));}}catch(SQLException e){e.printStackTrace();}finally{try{if(rs !=null){rs.close();}}catch(SQLException e){e.printStackTrace();}try{if(statement !=null)statement.close();}catch(SQLException e){e.printStackTrace();}try{if(conn !=null)conn.close();}catch(SQLException e){e.printStackTrace();}}return list;}

获取数据库也是用的最基本的sql语句:show databases;

影音先锋电影 http://www.iskdy.com/

  • 获取数据库表列表
/*** @Description 获取字段名 列表* @author zhangyd* @date 2015年12月9日 上午10:18:07* @param mybatisSqlForm* @return

【干货】自己动手打造专属代码生成工具(完结篇)相关推荐

  1. 自己动手打造工具系列之自动刷新简历

    0×00 背景 话说搞安全的大佬们都非常忙,自己在一步一步成长中无暇顾及其他琐碎的事情,比如让猎头注意到各位大佬.如何让猎头和大厂注意到自己呢?第一.提高自己在整个行业的曝光度:第二.定时刷新自己的简 ...

  2. 在“He3 Minecraft”中自由发挥打造专属工具

    我们非常高兴地宣布,He3 工具箱正在迈向一个全新的里程碑! 自从 He3 面世以来,它已经成为无数开发者的得力助手,为广大开发者提供了强大的功能与灵活性.今天,我们带来了一项重磅更新:开放平台.任何 ...

  3. 7 centos 查看程序文件数量_「动手打造家庭媒体网络平台」安装篇-centos搭建DLNA媒体服务...

    大家好,我是路程lucky,热爱开发.设计.学习.生活.爱捣鼓的web前后端工程师~ 本文的重点是在之前文章提到创建的centos基础上继续搭建DLNA媒体服务.由于centos的系统是从零开始初步安 ...

  4. 用U盘打造专属个人的微型护航系统--winpe

    用U盘打造专属个人的微型护航系统--winpe 具体做法是: 1.准备材料:①老毛桃winpe操作系统  (原版大小仅为109.2M,后缀是ISO的) ②U盘 不用太大,120M就行,一般市面上的U盘 ...

  5. 自己动手打造PE系统

    用U盘打造专属个人的微型护航系统--winpe 具体做法是: 1.准备材料:①老毛桃winpe操作系统 (原版大小仅为109.2M,后缀是ISO的) ②U盘 不用太大,120M就行,一般市面上的U盘都 ...

  6. 宏基微型计算机机箱怎么打开,机箱也智能 自己动手打造自动温控机箱

    盛夏酷暑,当自己享受着空调冷气袭面的时候,可曾想到朝夕相处的电脑正面临着天气温度与日俱增的煎熬?如何让自己的机箱拥有出色的散热性能,是每一位DIYer都需要面对的挑战.与其整日开着空调,不如自己DIY ...

  7. (转)如何动手打造属于自己的智能家居

    转自:http://www.cocoachina.com/programmer/20140629/8974.html 2014-06-29 14:11 编辑: suiling 分类:程序人生 来源:C ...

  8. 程序员如何动手打造属于自己的智能…

    自己动手打造属于自己的智能家居(一) 最近智能家居比较火,各种电子产品也层出不穷,于是利用业余时间,学了学,将自己的房子简单改造了一下,也算体验一下智能家居.在开始正文之前,有必要先声明一下: 1.我 ...

  9. 程序员如何动手打造属于自己的智能家居

    本文转自 奔跑的小乌龟 的博客 自己动手打造属于自己的智能家居(一) 最近智能家居比较火,各种电子产品也层出不穷,于是利用业余时间,学了学,将自己的房子简单改造了一下,也算体验一下智能家居.在开始正文 ...

最新文章

  1. bzoj 3339 莫队
  2. 怎么用python判断数据是否已经存在于表里_数据基本操作(二)
  3. 计算机书籍-机器学习预测分析Go语言实现
  4. Linux查看dmesg日志,Linux中的Printk与dmesg功能
  5. 前端如何实现图片懒加载(lazyload) 提高用户体验
  6. PS摩棒工具如何选中自己想要的区域
  7. 多面性的打赏功能,由直播行业引发的一点思考
  8. 计算密集型服务 性能优化实战始末
  9. python numpy数据类型_python numPy模块 与numpy里的数据类型、数据类型对象dtype
  10. 女神!浙大教授荣获世界杰出女科学家奖!
  11. ArcToolBox 提示ActiveX控件问题解决办法
  12. artcam 9.0英文版本下载_魔兽9.0暗影国度测试服前瞻 可能存在的仙狐坐骑详解
  13. makefile 编写
  14. 3dmax全局材质灯光细分插件_【3D脚本插件】如何利用插件快速修改全局灯光材质细分...
  15. python--多线程爬取王者荣耀高清壁纸
  16. 找不到xinput1_3.dll怎么办?如何修复dll文件缺失
  17. GitHub和75亿美金
  18. 联想小新笔记本,16G运行内存只能使用13.9G或14.9G的解决方案
  19. 关于Palantir -第五部分:浏览器应用
  20. golang中的strings.ToLower

热门文章

  1. 每只小狗都有一个目标---毕淑敏
  2. 增量日志迭代同步和阿基里斯悖论
  3. 交换机crc错误是什么意思_交换机接口CRC错包故障的处理
  4. MATLAB自定义函数
  5. 这七句话被中国人误传了数千年
  6. JS 鼠标单击,双击,三击,多击
  7. linux脚本怎么定义变量,Linux定义变量脚本分享
  8. Javascript高级编程学习笔记(20)—— 创建对象
  9. 升级SpringCloud到Hoxton.SR3出现The bean 'xxx.FeignClientSpecification' could not be registered. 源码分析和解决
  10. 将 FML 用于 WebLogic Tuxedo Connector 转自bea.com