⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultqueryhandler.java

📁 java数据库操作工具类
💻 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 + -