javafx - 使用带有 MyBatis 插件的 Griffon、Groovy 和 JavaFX,一项服务无法工作,而其他所有服务都可以——我做错了什么?
问题描述
MyBatis 接口定义如下:
@TypeProviderFor(MybatisMapper)
interface DBMapper extends MybatisMapper {
List<ReferenceItem> listReferences(String type)
int addReferenceItem(ReferenceItem newItem)
int saveReferenceItem(ReferenceItem item)
int badOrders(int id)
ReferenceItem getReferenceItem(int id, String type)
List getBadOrders(int carId)
List<ReportingMark> listReportingMarks()
int addReportingMark(ReportingMark mark)
List<ViewCar> listCarsForViewing()
int addRRCar(RRCar)
RRCar getRRCar(int id)
int updateCar(RRCar)
int addInspection(Inspection inspection)
int addBadOrder(BadOrder badOrder)
}
有问题的控制器具有以下代码段:
if (name.equals("MaintenanceWindow")) {
List<ReferenceItem> areas = dbService.getReferenceList("CAR_AREA")
areas.each {
view.carArea.items.add(new ObsReference(id: it.id, typeVal: it.typeName))
}
view.carArea.getSelectionModel().select(0)
model.selectedCarArea.bind(view.carArea.getSelectionModel().selectedIndexProperty())
model.datePerformed.set(LocalDate.now())
dbService.getBadOrders(model.carId)
model.currentTime.set(LocalTime.now().format(DateTimeFormatter.ofPattern("kk:mm")))
List<BOViewModel> badOrderedCars = dbService.getBadOrders(carId)
log.debug("the list of bad ordered cars is {}", badOrderedCars)
runInsideUI( {
view.badOrderedCars.getItems().remove(0, view.badOrderedCars.getItems().size())
log.debug("adding a bad ordered car {}", it)
badOrderedCars.each {view.badOrderedCars.items.add(it)}
})
}
第一个 dbService 引用 ( dbService.getReferenceList("CAR_AREA")) 运行良好,第二个 (dbService.getBadOrders(carId)) 响应为 ") 原因:groovy.lang.MissingMethodException:没有方法签名:com.spw.rr .DBService.badOrderResults() 适用于参数类型:(java.lang.Integer) 值:[3]" 对于我的生活,我看不出第一个定义和第二个定义之间的区别。有人有想法吗?
解决方案
我需要记住顺序——在服务中定义方法,在接口和 XML 中定义服务调用的内容。我跳过了一步,没有记住它。
第一个片段中的代码是接口定义。我没有发布服务中的代码(dbService 参考)——这就是需要定义方法的地方。
推荐阅读
- php - 不知道为什么会出现此错误:Method Illuminate\View\View::paginate 不存在?
- visual-studio-code - markdown-language-features:无法读取 Object.image 处未定义的属性“推送”
- java - 使用 thymleaf 执行处理器“org.thymeleaf.spring5.processor.SpringInputGeneralFieldTagProcessor”时出错
- php - 用 php 读取 URL API
- javascript - 下拉菜单不移动内容
- reactjs - 为什么在初始渲染期间初始状态属性设置为未定义?
- .net - 从 Angular SPA 向 REST API 调用 POST 请求
- java - 2个用于java应用程序的spring cloud stream Kafkas
- sql - 如何将相关行的值添加到 SQL 中的列
- javascript - 如何使用 SAPUI5 和 AJAX 将文件上传到 AL11