我的思维杂货铺

 ---这里没有附加的子标题

1,javaBean的生成

   大概时间:2005年,

   场景:很多时候数据转对象是一个常见的操作,

   过程:可以解析数据库中的表结构生成,但erwin中设计字段大小写及一些注释描述比较丰富。解析数据库设计文件(erwin生成的xml文件),生成对应的javaBean的属性及get/set方法

   难点:解析xml时,字段类型的继承的引用比较复杂

   总结:没什么卵用

 2, hibernate自动生成xml,vo,dao(oracle数据库)

大概时间:2006年,

   场景:可能当时也有一些工具能生成,但可能有些有很多方法没有

   过程:公司当时有一套基于解析erwin的xml文件生成hibernate的xml,vo,dao的东西,但一是本人没有源码,二是hibernate当时已3.0而公司的是基于1.0生成的,三是自己的一个学习过程。大概方法就是利用java字符串拼接,利用hql及封装本身的一些hibernate操作实现

   难点:本想也解析erwin的xml,但当时感觉太复杂,因此对oracle中元数据的一些操作来生成。

   总结:没什么卵用 ,链接在这里>>

 

3, Jbdc助手-数据库操作面向对象的实现(oracle)

  大概时间:2006年,

   场景:当时就是觉得hibernate太复杂了,就想实现第2点那套东西,自己用sql来如入实现,至少,自动生成后操作都不用引用包了。

   过程:把类的操作转化为sql操作,然后再通过类中的内容来对sql进行拼接,那时候感觉蛮有意思,有些成就感,80%的数据库操作不用写sql了,也不用配制一些xml文件之类。

   难点:应该没什么卵难点。

   总结:还是有点卵用 ,链接在这里>>

 

4, 自动发帖机

  大概时间:2007年,

   场景:当时工作有点闲,而itpub灌水比较猛,很多人玩,里面有商店可以买一些章,相当难买到,所以想到做一个自动灌水自动买章的东西。

   过程:利用window下的curl工具,得到cookies,然后注册多个用户,循环利用多个用户的cookies,(当时每个用户发帖有时间限制) ,然后就可以循环发图片,或者先down上网页中别人回复的内容,然后引用别人内容再加上一些先定义好的回复,那样感觉就像智能机器人一样了。

   难点:每个步骤拆分好就没什么难点。

   总结:若有多个代理ip的话,可以用于循环投票之类

 

5, vsql解析执行

  大概时间:2008年,

   场景:针对一些查询sql时,有很多参数及变量要进行替换再执行,而且有的条件是当第一个条件成立才会执行第二个条件,公用的一个拼sql拼参数的东西。

   过程:

@param vsql like "s&elect '2009'||':dsf' from aa a where 1=1 and ee=A and " + "#[&A] " +

"#[and  a.cctv=&A_c] " +

"#[and  a.flag in (:B_a) " +

"#[and  a.text=&C]]"。

针对上面的sql,带&的用字符串直接替换,带:代表参数替换,当A_c这个变量不为空时,and  a.cctv=&A_c 这句才会拼接上,当B_a这个参数不为空时,and  a.flag in (:B_a)会拼接上,当为空时,后面的and  a.text=&C 也不会拼接上,因为 #[]是作用于两个条件。

这个是用 java_cup来时行实现的。

   难点:理解就好。

   总结:可以用于一些多条件复杂的查询,不用程序中自己再去拼接,比较方便。

 

 6, 存储过程调度程序

  大概时间:2008年,

   场景:为了管理oracle存储过程的调用,日志,执行时间,依赖关系。

   过程:存储过程参数统一,一般情况不自己处理错误,只处理业务,通过框架程序进行调用,利用一些元数据表存储信息,包括checkpoint记录,出错后只要处理错误内容可不改变任何内容接着重跑。

   难点:没难点。

   总结:还比较好用,多个项目都使用

 

7, windows多文件的增量备份

  大概时间:2009年,

   场景:由于系统中一天经常要更改或增加一些excel,而基础文件共有好几个g的数据,比较重要,需要备份到移动硬盘。

   过程: 若每天全量备份感觉没有必要,一般都是每天改的数据都是几十个文件。因此,利用dos得到所有文件的修改时间,然后只备份上次备份时间后的文件。每天晚上执行一个bat操作就行了。

   难点:没难点。

   总结:还真蛮好用

8, etl底层存储过程生成

  大概时间:2010年,

   场景:由于底层抽取时,临时层的表结构和数仓中基础层的结构基本类似,只是一些类型及特定规则的变化,但数量比较多, 手工每次写存储过程也基本是一个insert /select语句,因此,想搞个自动生成,格式统一的东西,减少工作量。

   过程: 做了一个java web页面, 输入条件为源表,(可多个),目标表(一个) 然后根据源表及目标有中的数据库找到相同的字段进行对应,根据类型进行一些转换(主要是时间转字符之类),碰到对应不上的空出位置,标上目标是什么, 然后把数据库中字段注释进行字段后添加,根据目标表及处定一些规定生成存储过程名及添加一些时间及作者注释。

   难点:没什么难点。

   总结:还真蛮好用,妈妈再也不用担心写简单的存储过程了

 

8, 自动表结构生成等

  大概时间:2011年,

   场景: 当时数仓建表的工作量是非常的大,我们当时采用的是直接中文首字母加一些特殊标记来进行建表,erwin感觉建表都太慢了,想直接生成sql再反向工程,因此,当数据库中的表已经有一部分时,再建表时很多字段是一样的,特别是一些汇总表,都是诡异相同的字段, 因此想做一个东西,输入一个带逗号的字符串,然后就自动拆分成字段生成create语句。

   过程: 做了一个java web页面, 输入一个带逗号的字符串及表名,然后自动生成一个ext的table,有字段名,注释,类型, 这些内容是根据数据库表的元数据进行匹配再找出,未找到的默认中文首字母,类型为varchar2(30)(可界面调整)。

   难点:没什么难点。

   总结:还真蛮好用,妈妈再也不用担心写简单的存储过程了

 

 

 

9, 数据交换程序

  大概时间:2012年,

   场景:实现,mysql,sql server,oracle及excel和txt文件的互转。

   过程:原先自己写过一个xml配制数据源的java数据库操作的内容,再这个基础上再进行的扩散。通过一个excel配制文件, 确定源,源内容,目标,目标内容,是否清空,是否执行的配制来执行从源到目标的一个数据抽取内容(按理其它数据库也行,未测试,都是jdbc操作的话都差不多)。

   难点:没难点。

   总结:帮助公司做过数据迁移,速度不算好,但的确配制简单,操作方便,另公司测试人员经常用此来进行多次迭代的程序测试,个人感觉简单实用。链接在这里>> (链接内容可能有点老)

 

10, oracle存储过程详设文档生成

  大概时间:2013年,

   场景:针对详细设计时,很多时候都是开始写的详细设计与最终编码的不一致,而且两边同步维护没有一种好的手段检测,导致设计与编码是两回事。或者项目完成时候再进行补的,这样写的可能比较马虎或者纯粹是为了应付项目,启不到真正详细设计的作用。

   过程: 利用oracle中的元数据,在存储过程中特别添加一些注释标签,在存储过程中写的注释就最后生成在word的设计文档中。Java使用freemaker(html)模板,生成word。

   难点:没难点。

   总结:生成的存储过程中有涉及的表,输入输出定义,其中模块的注释说明,程序员写存储过程时这样比较喜欢写注释,设计文档生成同时不会增加多大工作量,且两边基本是同步的。

 

 另:

l  一些自动生成java web内容的,包括增删改查页面及java mvc层代码

l  Word表结构设计自动生成oracle,mysql的建表语句

l  oracle,mysql内容生成word,excel的表字段定义

l  文件批量转码等一些乱七八糟针对项目的东西

个人原则,不想做重复的事情,想着怎样可以再懒一些,想着程序员编程怎样才更不容易出错,想着尽量的一键操作而不是人机总在交互操作,想着问题的核心在哪而不是只为解决表面现象,想的很多很多,

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/134308/viewspace-2100539/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/134308/viewspace-2100539/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值