我的做法是这样的,仅供参考: 利用JavaBean的思想,将表格映射成Java类, 例如: user表有两个字段:id varchar(20); name varchar(40) 那么对应的Java类User可写成,并且所有的表格类都继承Record这个父类: public class User extends Record { public void set***(){} public String get***(){} } ***表示表格字段。这样做之后,就可以用DbManager类实现所有表格的操作。 例如:我要实现User表的操作,做法如下: DbManager dm = new DbManager("User");//表示我对User表进行操作 User user = new User(); user.set***();//定义User表纪录 dm.insert(user); //插入user表,这里insert方法的形参是Record,其他 操作方法同样。这样的做法要用到Java的反射机制,优点是使用方便,维护简单。 缺点是只能对一个表格进行操作,这对查询是非常不利的。
一般都是自己写,editplus陪伴了很久了
中间层:DBConnecter,EnviromentLoader initial...
业务层:sql statement
表示层:jsp+applet一般来说,这样的话只要改下面两层,就是改sql语句了!
我建议在使用继承时应当认真分析是父子关系还是成员关系!
能不用继承尽量不用继承,考虑接口!
利用JavaBean的思想,将表格映射成Java类,
例如:
user表有两个字段:id varchar(20); name varchar(40)
那么对应的Java类User可写成,并且所有的表格类都继承Record这个父类:
public class User extends Record
{
public void set***(){}
public String get***(){}
}
***表示表格字段。这样做之后,就可以用DbManager类实现所有表格的操作。
例如:我要实现User表的操作,做法如下:
DbManager dm = new DbManager("User");//表示我对User表进行操作
User user = new User();
user.set***();//定义User表纪录
dm.insert(user); //插入user表,这里insert方法的形参是Record,其他
操作方法同样。这样的做法要用到Java的反射机制,优点是使用方便,维护简单。
缺点是只能对一个表格进行操作,这对查询是非常不利的。
但是当数据成员很多的时候,比如60(现在的不只这么多)
得有60个set,get方法而且还有其它的,写下来有的文件超过50K
而且再从其它类里new出其它的对象这样会使代码很复杂
最重要的是写下的代码
应该是业务层这层的代码根本没办法重用(除非修改很多的代码)to:dickensi(流星·逐日)(★★★★)
事实上大量的代码还是在业务层
重用只是很小的一部分
我是想怎样也把业务层这一块重用起来
因为涉及到具体的库结构不知道有没有说明白?
说到应用接口,感觉起不了多少作用(水平有限)
因为方法体还得再类里再写
80%的代码还是在方法体里(当然这些接口是可以重用的)
完全可以用程序蓝领来写,
花不少代价去为这些不同的业务重用这些代码是没有必要的,
你不会还想重用jsp文件吧!
其实我觉得假如你重用这些东西的话,
你的这些项目是不是基本上就是相同的了?“说到应用接口,感觉起不了多少作用(水平有限)
因为方法体还得再类里再写
80%的代码还是在方法体里(当然这些接口是可以重用的)”接口是面向对象多太性的重要体现之一,而且可以增加代码重用性!
建议增强对oop思想的理解!个人意见!仅供参考!
就是我现在写好了让别人拿走就能用的
可以把不涉及具体数据库的代码打包
涉及数据库操作的实现接口
然后再实现方法体
不知 dickensi(流星·逐日)(★★★★) 对流程控制怎样理解
比如我想实现一个购买操作
在这个操作成功之前有一系统的控制
如:账号是否有钱,是否够此次操作金额,是否......
在servlet/jsp控制流程
即
if(UserBean.haveMoney() && ProductBean.moreMoney()){
...
}
haveMoney()有钱否,返回boolean
moreMoney() 同样还是在类里实现这些
即在
order()方法里完成各种验证
我的做法是第一种但在jsp中看起来有点乱特别是和html搅在一起的时候
程序以后维护不太方便
1.表格类不会包括数据操作部分,也就是没有add,delete..等方法。而我看你的
做法是包括的,因为你要继承DbManager类,并重载这个类的方法。
因此在以后如果要对新的表格进行操作的话,只需新加一个表格类,
而加一个表格类是很容易的,因为里面只有set和get方法。
2.DbManager类是单独的一个类,它不会被其它类继承,它的作用就是实现对
某个表格的操作,也就是实现add,delete..等方法,这个类不是针对具体的
表格,而是对所有的表格而言。
DbManager类需要在运行期间动态的知道表格的字段信息,而不是在程序里
把字段写死了。不知epowerlab是否同意在下的观点?