我正在尝试为JDBI中的对象调用包装器方法。包装器方法不对应于对象的任何字段,而是规范化(格式化)它,然后返回一个字符串。以下是我的班级 -
Class Car {
String make;
String model;
//...
//getters for make and model
//wrapper method
public String getCarDescription(){
return "Make: " + make + " Model: " + model;
}
}
我的问题是 - 我可以在JDBI @SqlQuery()
中调用getCarType()吗?像这样 - >
@SqlQuery("select * from car where car_description = :car.carDescription")
public abstract Car getCarDescription(@BindBean("car") Car car);
我尝试过这样做,但JDBI没有返回正确的结果。更令人沮丧的是,JDBI不会抛出任何错误,或者说是否以这种方式调用对象上的方法是否正常(或不行)。
答案 0 :(得分:1)
是的,JDBI可以绑定到具有getter格式的对象上的方法。我刚刚创建了一个简单的project,我已经复制了这个场景。我在提供的代码中注意到的一件事是绑定注释@BeanBind的名称不正确,而应该是@BindBean:
@SqlQuery("select * from car where car_description = :car.carDescription")
Car getCarDescription(@BindBean("car") Car car);