У меня есть класс взаимодействия со сценарием, который делает выбор из базы данных postgres. Я хотел бы знать, как вернуть набор результатов, используя этот шаблон сценария.
То, что я пробовал сейчас, - это изменение возвращаемого типа в методе "public void PerformAs(Tactor)" на "public ResultSet PerformAs(Tactor)"
Но тогда у меня следующие проблемы:
Error:(12, 8) java: jarv.serenity.carnival.interactions.dbRelated.SelectDataBase is not abstract and does not override abstract method <T>performAs(T) in net.serenitybdd.screenplay.Performable
Error:(23, 40) java: <T>performAs(T) in jarv.serenity.carnival.interactions.dbRelated.SelectDataBase cannot implement <T>performAs(T) in net.serenitybdd.screenplay.Performable
return type java.sql.ResultSet is not compatible with void
Error:(21, 5) java: method does not override or implement a method from a supertype
Это файл класса
package jarv.serenity.carnival.interactions.dbRelated;
import jarv.serenity.carnival.dataBaseConection.DataBaseDriver;
import jarv.serenity.carnival.model.Users;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Interaction;
import net.thucydides.core.annotations.Step;
import java.sql.ResultSet;
import java.sql.Statement;
import static net.serenitybdd.screenplay.Tasks.instrumented;
public class SelectDataBase implements Interaction {
private final DataBaseDriver dbDriver;
private ResultSet rs=null;
public SelectDataBase(DataBaseDriver dbDriver) {
this.dbDriver = dbDriver;
}
@Override
@Step("Selecting from DB")
public <T extends Actor> void performAs(T actor) {
try
{
Statement st = dbDriver.getConn().createStatement();
rs = st.executeQuery("SELECT * From users");
dbDriver.disconect();
}
catch(Exception e)
{
dbDriver.disconect();
System.out.println(e);
}
}
public ResultSet getResults(){
return rs;
}
public static Interaction select(DataBaseDriver dbDriver) {
return instrumented(SelectDataBase.class, dbDriver);
}
@Override
public String toString() {
return rs.toString();
}
}
Прямо сейчас я могу выполнить операцию выбора, но не получить набор результатов.
Я хотел бы иметь возможность получить его или вернуть его к любой задаче или вопросам, которые используют это взаимодействие