To make simple access in servlet, create one class and declare the instance variable as database table has
public class Revenue
{
private String id;
private Integer revenue;
private String year;
//getters and setters
}
Now, fetch the data from database, inside DAO create one method and write
public ArrayList<Revenue> getAllRevenueList()
{
try
{
// try-catch exception, if any exception occurs return null
//driver
//connection code
String sql = "SELECT id,revenue,year FROM revenue_table ORDER BY year";
Statement stmt = con.createStatemtnt();
ResultSet rs = stmt.executeQuery(sql);
//now iterate over the result set and create list of objects of class `Revenue`
//create an ArrayList<Revenue>
ArrayList<Revenue> revenueList = new ArrayList<Revenue>();
while(rs.next)
{
//for each row in result set create the object of class Revenue
Revenue r = new Revenue();
r.setId(rs.getString("id"));
r.setRevenue(Integer.parseInt(rs.getString("revenue")));
r.setYear(rs.getString("year"));
revenueList.add(r); //add object to list
}
return revenueList;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
Servlet
public JFreeChart getChart()
{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
//retrieve the revenue ArrayList
//make sure that you have initialized the revenueDao object before calling method
ArrayList<Revenue> revenueList = revenueDao.getAllRevenueList();
//check list is not null and empty
if(revenueList != null && !revenueList.isEmpty())
{
for(Revenue r : revenueList)
{
dataset.setValue(r.getRevenue(), r.getYear, r.getId());
}
}
..........
............
..............
}