commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Betty User <usrbe...@gmail.com>
Subject Re: [dbutils]
Date Sun, 10 Mar 2013 16:20:55 GMT
Hello Bill,

I don't thinkh there is a problem with getter/setter method - when I
simulate this by hand it works correctly. I think that main point of my
problem is in its implementayion of BeanProcessor. When I log activity of
my toBean() method in MonthOrderCountHandler class there is no record about
its invokation. I am not sure if the way how I call my implementation of
toBean() method is correct, rather I am sure there is some problem in
calling it but I don't know where.

B.

2013/3/10 William Speirs <wspeirs@apache.org>

> You're missing something as you're creating a new Month() and then calling
> result.setMonth(m); however, I don't see the code for setMonth.
>
> I think this is an issue with a getter/setting rather than an issue with
> DBUtils.
>
> Can you add debug statements and see what the calls to rs.
> getString("monthAbbreviation"), rs.getString("monthName"), and
> rs.getInt("monthNo")
> return?
>
> Bill-
>
>
> On Sun, Mar 10, 2013 at 11:32 AM, Betty User <usrbetty@gmail.com> wrote:
>
> > Hello,
> >
> > I am creating MVC web application in Spring.
> >
> > With this Java code I'm trying to convert resultset int JavaBeans.
> >
> > List<MonthOrderCount> retList = new LinkedList<>();
> > BasicRowProcessor brp = new BasicRowProcessor(new
> > MonthOrderCountHandler());
> > BeanListHandler<MonthOrderCount> m = new
> > BeanListHandler<>(MonthOrderCount.class, brp);
> > retList.addAll(queryRunner.query(sql, m,
> Util.utilDateToSqlDate(dateFrom),
> > Util.utilDateToSqlDate(dateTo)));
> >
> > But it doesn't work for me - List is filled with objects
> (MonthOrderCount),
> > value orderCount is correct but month variable is null.
> >
> > My implementation of MonthOrderCountHandler class:
> >
> > public class MonthOrderCountHandler extends BeanProcessor {
> >
> >     @Override
> >     public Object toBean(ResultSet rs, Class type) throws SQLException {
> >
> >         // Year
> >         Year year = new Year();
> >         year.setYearNo(rs.getInt("yearNo"));
> >         year.setYear4(rs.getString("year4"));
> >         year.setYear2(rs.getString("year2"));
> >
> >         // Quarter
> >         Quarter quarter = new Quarter();
> >         quarter.setQuarterNo(rs.getInt("quarterNo"));
> >
> >         // Month
> >         Month m = new Month();
> >         m.setYear(year);
> >         m.setQuarter(quarter);
> >         m.setMonthAbbreviation(rs.getString("monthAbbreviation"));
> >         m.setMonthName(rs.getString("monthName"));
> >         m.setMonthNo(rs.getInt("monthNo"));
> >
> >         // Final bean
> >         MonthOrderCount result = new MonthOrderCount();
> >         result.setMonth(m);
> >         result.setOrderCount(rs.getInt("orderCount"));
> >
> >         return result;
> >
> >     }
> > }
> >
> > Structure of my domain objects is:
> >
> > MonthOrderCount class:
> >
> > public class MonthOrderCount {
> >     private Month month;
> >     private int orderCount;
> > }
> > Month class:
> >
> > public class Month {
> >     private Quarter quarter;
> >     private Year year;
> >     private int monthNo;
> >     private String monthName;
> >     private String monthAbbreviation;
> > }
> >
> > Quarter class:
> >
> > public class Quarter {
> >     private int quarter;
> >     private String abbreviation;
> > }
> >
> > Year class:
> >
> > public class Year {
> >     private int yearNo;
> >     private String year2;
> >     private String year4;
> > }
> >
> > I cannot use standard method:
> >
> > ResultSetHandler<List<MonthOrderCount>> listUrlHandler = new
> > BeanListHandler<>(MonthOrderCount.class);
> >
> > beacuse instances of MonthOrderCount class contains another objects
> created
> > from values from a row and I need to create them.
> >
> > What am I doing wrong with MonthOrderCountHandler class?
> >
> > Thanks.
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message