diff --git a/neutrino-core/src/main/java/fun/asgc/neutrino/core/db/crisp/session/ResultContext.java b/neutrino-core/src/main/java/fun/asgc/neutrino/core/db/crisp/session/ResultContext.java new file mode 100644 index 00000000..4448e05d --- /dev/null +++ b/neutrino-core/src/main/java/fun/asgc/neutrino/core/db/crisp/session/ResultContext.java @@ -0,0 +1,36 @@ +/** + * Copyright (c) 2022 aoshiguchen + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package fun.asgc.neutrino.core.db.crisp.session; + +/** + * @author: aoshiguchen + * @date: 2022/11/23 + */ +public interface ResultContext { + T getResultObject(); + + int getResultCount(); + + boolean isStopped(); + + void stop(); +} diff --git a/neutrino-core/src/main/java/fun/asgc/neutrino/core/db/crisp/session/ResultHandler.java b/neutrino-core/src/main/java/fun/asgc/neutrino/core/db/crisp/session/ResultHandler.java new file mode 100644 index 00000000..027c9108 --- /dev/null +++ b/neutrino-core/src/main/java/fun/asgc/neutrino/core/db/crisp/session/ResultHandler.java @@ -0,0 +1,30 @@ +/** + * Copyright (c) 2022 aoshiguchen + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package fun.asgc.neutrino.core.db.crisp.session; + +/** + * @author: aoshiguchen + * @date: 2022/11/23 + */ +public interface ResultHandler { + void handleResult(ResultContext resultContext); +} diff --git a/neutrino-core/src/main/java/fun/asgc/neutrino/core/db/crisp/session/SqlSession.java b/neutrino-core/src/main/java/fun/asgc/neutrino/core/db/crisp/session/SqlSession.java index 6f2fd629..6633f51c 100644 --- a/neutrino-core/src/main/java/fun/asgc/neutrino/core/db/crisp/session/SqlSession.java +++ b/neutrino-core/src/main/java/fun/asgc/neutrino/core/db/crisp/session/SqlSession.java @@ -21,10 +21,9 @@ */ package fun.asgc.neutrino.core.db.crisp.session; -import fun.asgc.neutrino.core.db.crisp.base.BatchResult; import fun.asgc.neutrino.core.db.crisp.DbConfig; +import fun.asgc.neutrino.core.db.crisp.base.BatchResult; import fun.asgc.neutrino.core.db.crisp.base.RowBounds; -import sun.plugin2.main.server.ResultHandler; import java.io.Closeable; import java.sql.Connection; @@ -125,11 +124,14 @@ public interface SqlSession extends Closeable { /** * Retrieve a single row mapped from the statement key and parameter * using a {@code ResultHandler}. + * * @param statement Unique identifier matching the statement to use. * @param parameter A parameter object to pass to the statement. - * @param handler ResultHandler that will handle each retrieved row + * @param handler ResultHandler that will handle each retrieved row */ - void select(String statement, Object parameter, ResultHandler handler); + default void select(String statement, Object parameter, ResultHandler handler) { + + } /** * Retrieve a single row mapped from the statement