📄 sqlhelper.java
字号:
} else if( javaTypeName.equals( "java.lang.Double" ) ){
clazzFields[i].set( object, new Double(tmpDouble) );
}
} else if( jdbcTypeName.equals( "java.lang.Integer" ) ){
int tmpInt = resultSet.getInt( i+1 );
if( resultSet.wasNull() ){
tmpInt = 0;
}
if( javaTypeName.equals( "int" )){
clazzFields[i].setInt( object, tmpInt );
} else if( javaTypeName.equals( "java.lang.Integer" )){
clazzFields[i].set( object, new Integer(tmpInt));
}
} else if( jdbcTypeName.equals( "java.lang.Object" ) ){
clazzFields[i].set( object, resultSet.getObject( i+1 ) );
} else if( jdbcTypeName.equals( "java.lang.Float" ) ){
float tmpFloat = resultSet.getFloat( i+1 );
if( resultSet.wasNull() ){
tmpFloat = 0;
}
if( javaTypeName.equals( "float" )){
clazzFields[i].setFloat( object, tmpFloat );
} else if( javaTypeName.equals( "java.lang.Float" )){
clazzFields[i].set( object, new Float( tmpFloat ) );
}
} else if( jdbcTypeName.equals( "java.lang.Short" ) ){
short tmpShort = resultSet.getShort( i+1 );
if( resultSet.wasNull() ){
tmpShort = 0;
}
if( javaTypeName.equals( "short" )){
clazzFields[i].setShort( object, tmpShort );
} else if( javaTypeName.equals( "java.lang.Short" )){
clazzFields[i].set( object, new Short(tmpShort) );
}
} else if( jdbcTypeName.equals( "java.sql.Time" ) ){
clazzFields[i].set( object, resultSet.getTime( i+1 ) );
} else if( jdbcTypeName.equals( "java.sql.Timestamp" ) ){
clazzFields[i].set( object, resultSet.getTimestamp( i+1 ) );
}
}
resultList.add( object );
resultRet++;
} catch( SQLException e ){
logger.error( "结果集解析失败:["+e.getErrorCode()+"]" );
e.printStackTrace();
throw e;
}catch( Exception e ){
logger.error( "executeQuery( String sqlString , Class clazz ) 在进行类反射时错误" );
e.printStackTrace();
throw e;
}
}
}
resultCount++;
}
logger.info( "结果集解析正确结束" );
return resultList;
}
//========================================================================================
//ResultSet 包装器
public List resultSetWraper( ResultSet resultSet, int bgnLine, int retLine ) throws SQLException, Exception {
LinkedList resultList = new LinkedList();
ResultSetMetaData resMetaData = resultSet.getMetaData();
int columnCount = resMetaData.getColumnCount();
int resultCount = 0;
int resultRet = 0;
while( resultSet.next() ){
if( resultCount >= bgnLine ){
if( resultRet >= retLine ){
break;
}
{
//ArrayList objArray = new ArrayList();
Object[] objArray = new Object[columnCount];
try{
String javaTypeName = "";
String jdbcTypeName = "";
//注意有byte[]的未处理
for( int i=0; i<columnCount; i++ ){
{
//Object object = clazz[i].newInstance();
Object object = null;
jdbcTypeName = resMetaData.getColumnClassName(i+1);
if( jdbcTypeName.equals( "java.sql.Array" ) ){
object = resultSet.getArray( i+1 );
} else if( jdbcTypeName.equals( "java.lang.Long" ) ){
long tmpLong = resultSet.getLong( i+1 );
if( resultSet.wasNull() ){
tmpLong = 0;
}
object = new Long( tmpLong );
} else if( jdbcTypeName.equals( "java.lang.Boolean" ) ){
boolean tmpBoolean = resultSet.getBoolean( i+1 );
if( resultSet.wasNull() ){
tmpBoolean = false;
}
object = new Boolean( tmpBoolean );
} else if( jdbcTypeName.equals( "java.sql.Blob" ) ){
object = resultSet.getBlob( i+1 );
} else if( jdbcTypeName.equals( "java.lang.String" ) ){
object = resultSet.getString( i+1 );
} else if( jdbcTypeName.equals( "java.sql.Clob" ) ){
object = resultSet.getClob( i+1 );
} else if( jdbcTypeName.equals( "java.net.URL" ) ){
object = resultSet.getURL( i+1 );
} else if( jdbcTypeName.equals( "java.sql.Date" ) ){
object = resultSet.getDate( i+1 );
} else if( jdbcTypeName.equals( "java.math.BigDecimal" ) ){
object = resultSet.getBigDecimal( i+1 );
} else if( jdbcTypeName.equals( "java.lang.Double" ) ){
double tmpDouble = resultSet.getDouble( i+1 );
if( resultSet.wasNull() ){
tmpDouble = 0;
}
object = new Double( tmpDouble );
} else if( jdbcTypeName.equals( "java.lang.Integer" ) ){
int tmpInt = resultSet.getInt( i+1 );
if( resultSet.wasNull() ){
tmpInt = 0;
}
object = new Integer( tmpInt );
} else if( jdbcTypeName.equals( "java.lang.Object" ) ){
object = resultSet.getObject( i+1 );
} else if( jdbcTypeName.equals( "java.lang.Float" ) ){
float tmpFloat = resultSet.getFloat( i+1 );
if( resultSet.wasNull() ){
tmpFloat = 0;
}
object = new Float( tmpFloat );
} else if( jdbcTypeName.equals( "java.lang.Short" ) ){
short tmpShort = resultSet.getShort( i+1 );
if( resultSet.wasNull() ){
tmpShort = 0;
}
object = new Short( tmpShort );
} else if( jdbcTypeName.equals( "java.sql.Time" ) ){
object = resultSet.getTime( i+1 );
} else if( jdbcTypeName.equals( "java.sql.Timestamp" ) ){
object = resultSet.getTimestamp( i+1 );
}
objArray[i] = object;
}
}
resultList.add( objArray );
resultRet++;
}catch( SQLException e ){
logger.error( "结果集解析失败:["+e.getErrorCode()+"]" );
e.printStackTrace();
throw e;
} catch( Exception e ){
logger.error( "结果集解析失败" );
e.printStackTrace();
throw e;
}
}
}
resultCount++;
}
logger.info( "结果集解析正确结束" );
return resultList;
}
//========================================================================================
//ResultSet 包装器
public List resultSetWraper( ResultSet resultSet ) throws SQLException, Exception {
LinkedList resultList = new LinkedList();
ResultSetMetaData resMetaData = resultSet.getMetaData();
int columnCount = resMetaData.getColumnCount();
while( resultSet.next() ){
{
//ArrayList objArray = new ArrayList();
Object[] objArray = new Object[columnCount];
try{
String javaTypeName = "";
String jdbcTypeName = "";
//注意有byte[]的未处理
for( int i=0; i<columnCount; i++ ){
{
//Object object = clazz[i].newInstance();
Object object = null;
jdbcTypeName = resMetaData.getColumnClassName(i+1);
if( jdbcTypeName.equals( "java.sql.Array" ) ){
object = resultSet.getArray( i+1 );
} else if( jdbcTypeName.equals( "java.lang.Long" ) ){
long tmpLong = resultSet.getLong( i+1 );
if( resultSet.wasNull() ){
tmpLong = 0;
}
object = new Long( tmpLong );
} else if( jdbcTypeName.equals( "java.lang.Boolean" ) ){
boolean tmpBoolean = resultSet.getBoolean( i+1 );
if( resultSet.wasNull() ){
tmpBoolean = false;
}
object = new Boolean( tmpBoolean );
} else if( jdbcTypeName.equals( "java.sql.Blob" ) ){
object = resultSet.getBlob( i+1 );
} else if( jdbcTypeName.equals( "java.lang.String" ) ){
object = resultSet.getString( i+1 );
} else if( jdbcTypeName.equals( "java.sql.Clob" ) ){
object = resultSet.getClob( i+1 );
} else if( jdbcTypeName.equals( "java.net.URL" ) ){
object = resultSet.getURL( i+1 );
} else if( jdbcTypeName.equals( "java.sql.Date" ) ){
object = resultSet.getDate( i+1 );
} else if( jdbcTypeName.equals( "java.math.BigDecimal" ) ){
object = resultSet.getBigDecimal( i+1 );
} else if( jdbcTypeName.equals( "java.lang.Double" ) ){
double tmpDouble = resultSet.getDouble( i+1 );
if( resultSet.wasNull() ){
tmpDouble = 0;
}
object = new Double( tmpDouble );
} else if( jdbcTypeName.equals( "java.lang.Integer" ) ){
int tmpInt = resultSet.getInt( i+1 );
if( resultSet.wasNull() ){
tmpInt = 0;
}
object = new Integer( tmpInt );
} else if( jdbcTypeName.equals( "java.lang.Object" ) ){
object = resultSet.getObject( i+1 );
} else if( jdbcTypeName.equals( "java.lang.Float" ) ){
float tmpFloat = resultSet.getFloat( i+1 );
if( resultSet.wasNull() ){
tmpFloat = 0;
}
object = new Float( tmpFloat );
} else if( jdbcTypeName.equals( "java.lang.Short" ) ){
short tmpShort = resultSet.getShort( i+1 );
if( resultSet.wasNull() ){
tmpShort = 0;
}
object = new Short( tmpShort );
} else if( jdbcTypeName.equals( "java.sql.Time" ) ){
object = resultSet.getTime( i+1 );
} else if( jdbcTypeName.equals( "java.sql.Timestamp" ) ){
object = resultSet.getTimestamp( i+1 );
}
objArray[i] = object;
}
}
}catch( SQLException e ){
logger.error( "结果集解析失败:["+e.getErrorCode()+"]" );
e.printStackTrace();
throw e;
} catch( Exception e ){
logger.error( "结果集解析失败" );
e.printStackTrace();
throw e;
}
resultList.add( objArray );
}
}
logger.info( "结果集解析正确结束" );
return resultList;
}
//========================================================================================
//ResultSet 包装器,返回Properties可以通过字段名访问字段
//参数说明:resultSet--结果集,bgnLine--起始行(第一行为第一条记录),resCount--每页记录数量
public List resultSetPropertiesWraper( ResultSet resultSet, int bgnLine, int resCount ) throws SQLException, Exception {
LinkedList resultList = new LinkedList();
String columnName = null;
ResultSetMetaData resMetaData = resultSet.getMetaData();
int columnCount = resMetaData.getColumnCount();
if( bgnLine > 1 ){
resultSet.absolute( bgnLine - 1 );
}
for(int loopCount=0; resultSet.next()&&loopCount<resCount; loopCount++ ){
Properties properties = new Properties();
try{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -