📄 defaultqueryhandler.java
字号:
package com.baosight.util;
import java.beans.PropertyDescriptor;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.PropertyUtils;
/**
* 默认的数据库查询回调类
* @author steven
* @version 2005-2-13
*/
public class DefaultQueryHandler implements ResultSetHandler {
private String className;
public DefaultQueryHandler(String className){
this.className= className;
}
/**
* 对数据库查询结果集进行操作,将结果集每一条记录转换为一个类
* @see com.beici.util.ResultSetHandler#processRow(java.sql.ResultSet)
*/
public Object processRow(ResultSet rs) throws Exception {
try{
Object targetBean = Class.forName(className).newInstance();
PropertyDescriptor origDescriptors[] =
PropertyUtils.getPropertyDescriptors(targetBean);
for (int i = 0; i < origDescriptors.length; i++) {
String name = origDescriptors[i].getName();
// if( name.equals("class") ) continue;
if ( PropertyUtils.isWriteable(targetBean, name)) {
try{
Class claz = PropertyUtils.getPropertyType(targetBean,name);
Object value;
if( claz.getName().equals("java.sql.Date") ){
value = rs.getDate(name);
}else if( claz.getName().equals("java.lang.String")){
value = StringUtil.replaceHtml(rs.getString(name));
} else{
value = rs.getObject(name);
}
BeanUtils.setProperty(targetBean,name,value);
}catch(SQLException ee){
Logger.log("error in setting value:"+ee);
}
}
}//for end
return targetBean;
}catch(Exception e) {
Logger.log("DefaultQH.processRow:"+e);
}
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -