具有复杂数据类型的Spring JDBC Mapper

时间:2016-01-09 23:11:27

标签: java spring jdbc

我正在开发基于spring和salespoint框架的Web应用程序。在这个项目中,我们创建了一个ConcreteOrde r类,它通过hibernate保存在一个repo中,并在sql数据库中保存。 回购扩展PagingAndSortingRepository。有一些findBy方法,但间隔没有人。 ConcreteOrder获得了LocalDateTime的时间戳。我实现了一个公共默认方法,该方法接受所有订单并将那些订单放在新列表中的区间内:

public default Iterable<ConcreteOrder> findByInterval(Interval interval) {
    LocalDateTime end = interval.getEnd();
    LocalDateTime begin = interval.getStart();
    Collection<ConcreteOrder> collect = new ArrayList<ConcreteOrder>();
    Iterable<ConcreteOrder> allOrders = this.findAll();
    for (ConcreteOrder order : allOrders) {
        LocalDateTime orderTime = order.getDateOrdered();
        if ((orderTime.isBefore(end) || orderTime.isEqual(end)) && (orderTime.isAfter(begin) || orderTime.isEqual(begin))) {
            collect.add(order);
        }
    }
    Iterable<ConcreteOrder> iter = (Iterable<ConcreteOrder>)collect;
    return iter;
}

我想这很慢(如果我错了,请纠正我的错误)。这就是我想用Spring JDBC实现数据库搜索的原因。数据访问对象接口没问题,但映射器非常棘手。我使用这个例子:Spring JDBC Exmaple

ResultSet可以访问类型链接int和String但我必须分别访问自己的类型弹簧类型,如UserAccount。你能否告诉我如何访问这些对象。

0 个答案:

没有答案