Posted on 2006-04-10 09:22 
壮士日志 阅读(733) 
评论(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);