public class AdaptQueryAction implements BeanAction { /**
* 这个方法实现动态查询
* @param bean 表bean
* @param errlist 错误信息列表
* @return bean对象
*/
public Object action(EntityBean bean, ErrList errlist) { DebugManager.instance().get(InitEnv.DEBUG).message("查询表"+bean.logString()+"数据开始");
try{
Connection con = DBEnterpriseManager.instance().getJdbcMgr(InitEnv.DBINSTANCE).get(); DbDynamicQueryPre ddip=new DbDynamicQueryPre();
PreparedStatement stmp = null;
EntityList list=null;
try{
list=(EntityList)Class.forName(bean.ENTITYBEANLISTNAME).newInstance();
String sql=bean.sql;
ddip.setSql(sql);
sql=ddip.getSql(bean);
stmp=con.prepareStatement(sql);
ddip.preparedStatement(stmp);
ResultSet set= stmp.executeQuery();
ddip.resultSetToEntityBeanList(set,list);
if(bean instanceof QueryBean){
QueryBean qb=(QueryBean)bean;
qb.setCountRecords(ddip.getCountRecords()); }
}finally{
if(stmp!=null) stmp.close();
DBEnterpriseManager.instance().getJdbcMgr(InitEnv.DBINSTANCE).release( con );
con = null;
}
DebugManager.instance().get(InitEnv.DEBUG).message("查询表数据成功");
return list;
}catch(Exception e){
e.printStackTrace();
DebugManager.instance().get(InitEnv.DEBUG).error("查询表数据失败");
ErrBean errBean=new ErrBean();
errBean.setSource(this.getClass().getName());
errBean.setErrMessage(e.getMessage());
errlist.addErrBean(errBean);
errlist.setBreakFlg(true); }
return null;
}
}
* 这个方法实现动态查询
* @param bean 表bean
* @param errlist 错误信息列表
* @return bean对象
*/
public Object action(EntityBean bean, ErrList errlist) { DebugManager.instance().get(InitEnv.DEBUG).message("查询表"+bean.logString()+"数据开始");
try{
Connection con = DBEnterpriseManager.instance().getJdbcMgr(InitEnv.DBINSTANCE).get(); DbDynamicQueryPre ddip=new DbDynamicQueryPre();
PreparedStatement stmp = null;
EntityList list=null;
try{
list=(EntityList)Class.forName(bean.ENTITYBEANLISTNAME).newInstance();
String sql=bean.sql;
ddip.setSql(sql);
sql=ddip.getSql(bean);
stmp=con.prepareStatement(sql);
ddip.preparedStatement(stmp);
ResultSet set= stmp.executeQuery();
ddip.resultSetToEntityBeanList(set,list);
if(bean instanceof QueryBean){
QueryBean qb=(QueryBean)bean;
qb.setCountRecords(ddip.getCountRecords()); }
}finally{
if(stmp!=null) stmp.close();
DBEnterpriseManager.instance().getJdbcMgr(InitEnv.DBINSTANCE).release( con );
con = null;
}
DebugManager.instance().get(InitEnv.DEBUG).message("查询表数据成功");
return list;
}catch(Exception e){
e.printStackTrace();
DebugManager.instance().get(InitEnv.DEBUG).error("查询表数据失败");
ErrBean errBean=new ErrBean();
errBean.setSource(this.getClass().getName());
errBean.setErrMessage(e.getMessage());
errlist.addErrBean(errBean);
errlist.setBreakFlg(true); }
return null;
}
}
try {
return getJdbcMgr( databaseIndexOf(dbname) );
} catch (NullPointerException ex) {
throw new NullPointerException(ex.getMessage() + " : " + dbname);
}
}
<DataManager><Database name="dbagent" driver="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://192.168.100.162:1433;DatabaseName=paps" username="sa" password=""/></DataManager>
http://www.csdn.net/develop/Article/16/16912.shtm
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html
http://www.zdnet.com.cn/developer/code/story/0,2000081534,39134180-2,00.htm
我的email:[email protected]请给分
你只需在代码中 定义上下文变量,InitialContext,然后用 lookup方法查询数据库的jndi,就可以了。