outdataconvertutil.java
来自「羽量级数据持久层开发框架」· Java 代码 · 共 120 行
JAVA
120 行
package org.speedframework.convert;
//~--- non-JDK imports --------------------------------------------------------
import org.speedframework.exception.SpeedFrameworkException;
import org.speedframework.utilities.PropertiesUtil;
//~--- JDK imports ------------------------------------------------------------
import java.lang.reflect.InvocationTargetException;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* @author victorching
*/
public class OutDataConvertUtil
{
/**
* 方法描述信息,
* 描述方法是做什么的,
* 如何调用,最好给出调用代码示例。
*
* @param rs
* @param columnName
* @param propertyName
* @param voClass
*
* @return
*
* @throws IllegalAccessException
* @throws InstantiationException
* @throws InvocationTargetException
* @throws NoSuchMethodException
* @throws SQLException
* @throws SpeedFrameworkException
*/
public static Object outPortData(ResultSet rs, String columnName, String propertyName, Class voClass)
throws SQLException, InstantiationException, NoSuchMethodException, InvocationTargetException,
IllegalAccessException, SpeedFrameworkException {
Object fieldValue = null;
if (columnName != null) {
if ("rownum".equals(columnName)) {
fieldValue = new Long(rs.getLong(columnName));
} else if ("rownum_".equals(columnName)) {
fieldValue = new Long(rs.getLong(columnName));
} else if ("count_".equals(columnName)) {
fieldValue = new Long(rs.getLong(columnName));
} else {
if (propertyName == null) {
throw new SpeedFrameworkException("View domain object property not found name " + columnName);
}
if (propertyName != null) {
Class propertyClass = PropertiesUtil.getPropertyType(voClass.newInstance(), propertyName);
if (propertyClass == null) {
throw new SpeedFrameworkException("View domain object property not found name " + columnName);
}
String classType = propertyClass.getName();
if (classType.equals("java.lang.Integer") || classType.equals("int")) {
fieldValue = new Integer(rs.getInt(columnName));
} else if (classType.equals("java.lang.Long") || classType.equals("long")) {
fieldValue = new Long(rs.getLong(columnName));
} else if (classType.equals("java.math.BigDecimal")) {
fieldValue = rs.getBigDecimal(columnName);
} else if (classType.equals("java.lang.String")) {
fieldValue = rs.getString(columnName);
} else if (classType.equals("java.util.Date")) {
java.sql.Date date = rs.getDate(columnName);
if (date != null) {
fieldValue = new java.util.Date(date.getTime());
} else {
fieldValue = null;
}
} else if (classType.equals("java.sql.Time")) {
java.sql.Time date = rs.getTime(columnName);
if (date != null) {
fieldValue = date;
} else {
fieldValue = null;
}
} else if (classType.equals("java.sql.Timestamp")) {
java.sql.Timestamp date = rs.getTimestamp(columnName);
if (date != null) {
fieldValue = date;
} else {
fieldValue = null;
}
} else if (classType.equals("java.lang.Double") || classType.equals("double")) {
fieldValue = new Double(rs.getDouble(columnName));
} else if (classType.equals("java.lang.Float") || classType.equals("float")) {
fieldValue = new Float(rs.getFloat(columnName));
} else if (classType.equals("java.lang.Byte") || classType.equals("byte")) {
fieldValue = new Byte(rs.getByte(columnName));
} else if (classType.equals("java.lang.Boolean") || classType.equals("boolean")) {
fieldValue = new Boolean(rs.getBoolean(columnName));
} else if (classType.equals("java.lang.Char") || classType.equals("char")) {
fieldValue = new java.lang.Character(rs.getString(columnName).charAt(0));
} else if (classType.equals("java.sql.Blob") || classType.equals("Blob")) {
fieldValue = rs.getBlob(columnName);
} else if (classType.equals("java.sql.Clob") || classType.equals("Clob")) {
fieldValue = rs.getClob(columnName);
}
}
}
}
return fieldValue;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?