论坛首页 入门技术论坛

世界本可多些选择(研究下轮子)

浏览 13780 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-07-24  
Gavin King也是在老板的质疑中发明了Hibernate,没准LZ也能发明一个,呵呵。
关键是你确实发现了Hibernate的不足,并且确信能够创造一个更好的轮子么?
0 请登录后投票
   发表时间:2008-07-24  
dunsword 写道
Gavin King也是在老板的质疑中发明了Hibernate,没准LZ也能发明一个,呵呵。
关键是你确实发现了Hibernate的不足,并且确信能够创造一个更好的轮子么?

在什么情况下做事都难啊,综合各方利益(领导与同事),你做出东西来能服务好别人才会被认可,别人不会以你个人意愿来符合你。我的初衷只是想录下这个过程而已,每想到都放首页上去了,惭愧惭愧~~
0 请登录后投票
   发表时间:2008-07-24  
支持楼主,干得不错,继续努力
0 请登录后投票
   发表时间:2008-07-24  
LZ不错,别理JJWW的人了。有你这种想改造的事情的祝福,就是让人敬佩的。
0 请登录后投票
   发表时间:2008-07-24  
drinkjava 写道
lqql 写道
drinkjava 写道
把Hibernate改成SQLUTI,易如反掌,只要不用它的二级缓存和对象关联就可以了。把你的这个工具类改成支持跨数据库、事务、锁、翻页...,难如登天,所以还是不要发明轮子的好。
当然了,如果项目很小,配Hibernate的时间里都可以用你的工具类完成的,且不考虑今后的功能扩充,那尽管用你的工具类好了。

这个说得有点过了吧,"难如登天"?,从技术上讲,事务,锁,翻页,都没有什么技术问题,只是如何设计能够优雅而已.

嘿,偏偏有人喜欢抬杠,我说发明轮子不好,他就来说发明轮子怎么怎么的容易。废话,要都做到这些了,把Hibernate源码照抄一遍不是最容易吗?

不是吧,你对国外的轮子就这么相信吗?要是别人不发明轮子,我想大概就不会有HIBERNATE有IBATIS有NNN了.
事实上发明轮子很容易,发明个好用的轮子却是件难事.但是别人能做的,事实上我们也能做到.而且就算是功能相通的两个轮子,不同的人造出来完全是两样的,这点你也不明白吗,抄一遍,什么逻辑啊.当初SUN做JAVA的时候,你是不是会说要实现C++的代码比登天还难...要是把C++的特性都实现了,那不是把C++的源码抄一遍就行了!
0 请登录后投票
   发表时间:2008-07-24  
shanghui_12 写道
离开了hibernate我们能活不?三个月过去了,从当初的要死要活,到现在的自力更生,重做功能类似的工具(说框架我不好意思,题目上引用hibernate都惭愧!),我成长了~~
我怕写sql语句,我怕写数据连接关闭语句,代码拷贝??我挺懒的 碰巧给我的任务又挺多,10来张表,我的天啊!为什么就不能用hibernate?数据表字段的增减变换都得改好多地方,需求比较简单,时间也紧,我改怎么办?
天无绝人路,咱自己造轮子,就是不当搬运工!
我的轮子主要功能:sql自动生成(oracle是公司坚持用的,所以只针对它写特定的sql),自动返回vo和list类。经过一个晚上的思考(包括梦里),有了思路:
1,自动生成sql基本没啥问题,基本就是玩字符串和java反射,整理了下知识,一个上午搞定。这里利用两个字符数组来表示数据表与java类的对应。
private static String[] tables={"表名","ID","ACCOUNT","CREATTIME","IMAGE","INTRODUCE"};
private static String[] attributes={"42322","id","account","creatTime","image","introduce"};//首位标识属性的类型

2,单独执行增加,删除,修改的sql返回值都为boolen,所以利用公用的链接数据库操作类DBConnect便可。
3,返回一个实体类,阿哦,有点难,java反射还是功力不到。百度谷歌半天,我这里抽那里取,写成了俺的文章 这里做得挺无耻,不许别人用的时候颠倒前面传递的两个字符数组次序,想用俺的就听俺的。字段类型也就只有int,string,date三种,因为我发现别的xdjm没有用到其它的,没有就不写,嘿嘿。
4,在返回实体类基础上返回list。不用多少工夫了,搞定!
xdjm用上觉得不错,我也心满意足了。休息,休息~~代码如下:(只写了一个类,先写函数名吧,估计大家也能猜出怎么个写法了吧)
public static String addSql(String[] tables, String[] attributes, Object vo)
public static String delSql(String tables, Object vo)
public static String updateSql(String[] tables, String[]attributes,Object vo)
public static Object getVo(String[] attributes, String sql,Object vo)
public static List getList(String[] attributes, String sql,Object vo)			


生成对象方面, 建议看下common dbutil jar包, 稍微该下 基本就可以了 。
0 请登录后投票
   发表时间:2008-08-18  
dunsword 写道
Gavin King也是在老板的质疑中发明了Hibernate,没准LZ也能发明一个,呵呵。
关键是你确实发现了Hibernate的不足,并且确信能够创造一个更好的轮子么?

理论上说凡是能使用JDBC的地方Hibernate完全适应。有必要在搞个什么?
0 请登录后投票
   发表时间:2008-08-18  
深受其害。 Boss某天做了个美梦, 可怜了程序员就得跟着开始做噩梦。
daquan198163 写道
最痛恨技术官僚,拍脑袋做决定,然后由别人买单

0 请登录后投票
   发表时间:2008-08-23  
类似的方式我也用C#写过,其实项目怎么做,都无所谓了。只要记住是你在用工具,而不是工具在用你就好了!
0 请登录后投票
   发表时间:2008-09-03  
AllenZhang 写道
怎么这种文章都存在。有讨论的必要么。
写点sql值得哇哇叫么


你认为什么文章该存在,xx样儿!!
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics