首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有单个日期字段的Javabean,但需要使用日期范围对其进行搜索

具有单个日期字段的Javabean,但需要使用日期范围对其进行搜索
EN

Stack Overflow用户
提问于 2012-11-15 23:10:44
回答 1查看 149关注 0票数 0

我有一个带有date_observed字段的Javabean。现在,我正在尝试创建一个表单,用户可以在该表单中搜索起始日期和结束日期之间的条目。

我是否应该创建另一个Javabean来扩展此bean,使其具有开始和结束日期字段,以便可以从请求参数填充这些字段?

我想干净利落地将一个bean传递给我的Dao,以便生成SQL字符串,并且如果它们输入的日期格式不正确,还可以通过一种方法进行表单验证。

通常我会这样做

代码语言:javascript
复制
public void processDate_observed(HttpServletRequest request, Comment comment) {
    String _date = FormUtil.getFieldValue(request, FIELD_DATE_OBSERVED);
    if (!"".equals(_date) && _date != null) {
        try {
            Date date = DateUtil.parse(_date);
            com.setDate_observed(date);
        } catch (ParseException e) {
            setError(FIELD_DATE_OBSERVED, e.getMessage());
        }
    }
}

但是我的注释Javabean没有用于start_dateend_date的字段

而对于dao.search(comment)

代码语言:javascript
复制
    public List<Evaluatee> search(Comment comment) {
   SQL = ".... where date_observed > ? AND date_observed <= ?
         ps.setDate(1, comment.EXTENDED FIELD???)
         ps.setDate(2, comment.EXTENDED FIELD???)
   ...
    }

这里的最佳实践是什么?创建一个全新的Javabean,扩展我的原始bean,还是将两个日期字段传递给Dao?但是,如果bean中没有日期,那么如何将表单验证传递回表单呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-16 01:06:59

在DAO类中有一个以开始日期和结束日期为参数的serch方法,这是一个很好的实践。

代码语言:javascript
复制
public List<Evaluatee> search(String startDate, String endDate) {
///CODE GOES HERE
}

DAO不一定需要有一个Comment对象作为参数,规则是对于数据库的每个表,都需要是一个与表中具有相同字段的类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13400360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档