//------------------------------------------------- // Litchi Game Server Framework // Copyright(c) 2019 phantaci <[email protected]> // MIT Licensed //------------------------------------------------- package litchi.core.jdbc.column; import com.esotericsoftware.reflectasm.FieldAccess; import litchi.core.jdbc.table.Table; import litchi.core.jdbc.table.TableInfo; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; /** * @author 0x737263 */ public class DecimalColumn extends AbstractColumnParser { @Override public void readColumn(Table<?> instance, TableInfo.TableColumnInfo columnInfo, ResultSet rs) throws SQLException { FieldAccess fieldAccess = instance.getTableInfo().fieldAccess; Object obj = rs.getObject(columnInfo.aliasName); if (obj != null) { fieldAccess.set(instance, columnInfo.fieldName, obj); } // 数据库中该字段为null时,使用对象中该字段的默认值 } @Override public void writeColumn(ArrayList<Object> writeList, TableInfo.TableColumnInfo columnInfo, Object fieldValue) { writeList.add(fieldValue); } }