Помогите пожалуйста разобраться я пишу такой код. Мне необходимо получить значения из бд и передать эти значения в класс X2. Подскажите пожалуйста как это сделать и можно ли так писать?
Код | */
package ken;
import java.io.Serializable; import java.sql.SQLException; import java.util.Date; import java.util.Map;
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset;
import de.laures.cewolf.DatasetProduceException; import de.laures.cewolf.DatasetProducer; import de.laures.cewolf.links.CategoryItemLinkGenerator; import de.laures.cewolf.tooltips.CategoryToolTipGenerator; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import org.jfree.data.function.Function2D; import org.jfree.data.general.DatasetUtilities; import org.jfree.data.xy.XYDataset; /** * * @author Dan */
public class KolomiecElenaDiagram implements DatasetProducer,Serializable {
Connection con = null; PreparedStatement ps = null; ResultSet rs = null; Statement stmt = null; public String per1; public String per2; public String per3; public String per4; public String per5;
Integer id = 5; public void loadJBDCDriver() throws SQLException{ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con =DriverManager.getConnection("jdbc:odbc:Znach_Ac"); stmt=con.createStatement(); rs = stmt.executeQuery("SELECT * FROM Znach"); while(rs.next()){ per1 = rs.getString(1); per2 = rs.getString(2); per3 = rs.getString(3); per4 = rs.getString(4); per5 = rs.getString(5);
} catch (ClassNotFoundException e) { throw new SQLException("JDBC Driver not found.", e); } finally { try { if(stmt != null){ stmt.close(); stmt = null; } if(ps != null) { ps.close(); ps = null; } if(con != null) { con.close(); con = null; } } catch (SQLException e) {} } }
private static final Log log=LogFactory.getLog(KolomiecElenaDiagram.class);
public Object produceDataset(Map params) throws DatasetProduceException{ log.debug("produciendo datos."); XYDataset result = DatasetUtilities.sampleFunction2D(new X2(), -6.0, 4.0, 20, "f(x)"); return result; }
public boolean hasExpired(Map params,Date since){ log.debug(getClass().getName()+"hasExpired()"); return(System.currentTimeMillis()-since.getTime())>5000; } public String getProducerId() { return "xyData"; }
public class X2 implements Function2D {
/* (non-Javadoc) * @see org.jfree.data.function.Function2D#getValue(double) */ public double getValue(double x) { return a*x*x+b*x+3; } }
/* public boolean hasExpired(Map arg0, Date arg1) { // assuming data does not change // - never expires return false; }*/
}
|
|