Posted on 2006-04-10 09:22
壮士日志 阅读(723)
评论(5) 编辑 收藏
最近做一个基于J2EE的WEB项目,该项目的特点是查询比较多,本来设计中打算用hibernate实现持久层,但是基于项目时间紧张和开发人员不熟悉hibernate而取消.于是想到了传统的Dao,加上最近看了好多关于类反射的东西,于是自己写了一个简单的Dao,基本的方法很简单,输入sql语句/参数/,返回String二维数组(直接在页面显示).由于只是针对web显示,所以在设计上加入了一些小技巧,例如数组的第一行是表头信息,通过参数传入,如果参数为null则根据dbms metadata来读取,相关的api列表如下:
其中以Simple开头的查询方法只支持单条查询并直接返回结果,其打开和关闭连接等过程在内部自动实现.以exec开头的的方法支持多条查询和update,支持事务,要自己打开(init)和关闭(close)连接,下面是一个stuts actionbean里面的代码片断,是不是看起来很简单呢:)
Dao d = new Dao();
String[][] result = null;
String sql="select name,phone from users where schoolID=? and classID=?"
result=d.simplyQuery(sql,
new String[]{"姓名","电话号码"}, //表头
new String[]{theForm.getSchoolID(),theForm.getClassID} //参数
);
request.getSession().setAttribute("xxxx..",result);