我正在开发基于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
。你能否告诉我如何访问这些对象。