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