这段代码是什么意义求解看不懂

这段代码是什么意思求解看不懂
private void bindPreparedStatement(
PreparedStatement pstmt, int bindIndex, int colIndex) throws SQLException {
/* 項目の設定値を取得 */
String name = getColumnName(colIndex);
String type = getColumnType(colIndex);
String val = getColumnValue(colIndex);
if ( val == null || val.equals("") ) {
val = getDefaultValue(colIndex);
setColumnValue(colIndex,val);
}
if ( debug ) {
debug(" bind*name:"+name+"*type:"+type+"*value:"+val+"*bindIndex:"+bindIndex+"*colIndex:"+colIndex);
}
/* 項目タイプによりバインド方法を変える */
if ( type.equals(VARCHAR) ||
 type.equals(CHAR)    || /* 20030425 ADD By T.Ishii */
 type.equals(GRAPHIC) ) { /* 20030425 ADD By T.Ishii */
if ((val != null) && (!val.equals(""))){
pstmt.setString(bindIndex,val);
}else{
pstmt.setString(bindIndex,null);
}
} else if ( type.equals(INTEGER)) {
if ((val != null) && (!val.equals(""))){
pstmt.setInt(bindIndex, new Integer(val));
} else {
pstmt.setNull(bindIndex, Types.INTEGER);
}
} else if ( type.equals(SMALLINT)) {
if ((val != null) && (!val.equals(""))){
pstmt.setShort(bindIndex, new Short(val));
} else {
pstmt.setNull(bindIndex, Types.SMALLINT);
}
} else if ( type.equals(DECIMAL)) {
if ((val != null) && (!val.equals(""))){
pstmt.setBigDecimal(bindIndex, new BigDecimal(val));
} else {
pstmt.setNull(bindIndex, Types.DECIMAL);
}
} else if ( type.equals(BIGINT) ) {
if ((val != null) && (!val.equals(""))){
pstmt.setLong(bindIndex, new Long(val));
} else {
pstmt.setNull(bindIndex, Types.BIGINT);
}
} else if ( type.equals(DATE) ) {
/*3.4変更点*/
if ((val != null) && (!val.equals(""))){
pstmt.setTimestamp(bindIndex,toTimestamp(val,"yyyyMMdd"));
}else{
pstmt.setTimestamp(bindIndex,null);
}
} else if ( type.equals(TIMESTAMP) ) {
/*3.4変更点*/
if ((val != null) && (!val.equals(""))){
pstmt.setTimestamp(bindIndex,toTimestamp(val,"yyyyMMddHHmmss"));
}else{
pstmt.setTimestamp(bindIndex,null);
}
} else if ( type.equals(TIMESTAMP_NANOS) ) {
/*4.11 変更点*/
if ((val != null) && (!val.equals(""))){
if(val.length() <= 14 ){
pstmt.setTimestamp(bindIndex,toTimestamp(val,"yyyyMMddHHmmss"));
}else{
Timestamp ts =  toTimestamp( val.substring(0,14),"yyyyMMddHHmmss");
ts.setNanos( Integer.parseInt( val.substring(14,val.length() ) ) );
pstmt.setTimestamp(bindIndex,ts);
}
}else{
pstmt.setTimestamp(bindIndex,null);
}
}else{debug("err");}
}
------解决思路----------------------
我去,这是日文还是韩文啊.....


这一段就是PreparedStatement  从数据库中取值吧?
------解决思路----------------------
是形参啊,getColumnXxx()应该是封装的方法,
结合来说作用应该是根据bindIndex获取表中对应列的name、type和value,
另一个colIndex就不清楚了,创建这个方法的人没写注释吗?
[ img]http://www.mstudy.cc/[ /img]
------解决思路----------------------
这块是赋值的  为了后面pstmt执行sql。。。。这是多少年前的代码了  一大坨if else