Skip to content

Commit c8ae37b

Browse files
committed
Append node mapping
1 parent 8ef21c3 commit c8ae37b

2 files changed

Lines changed: 20 additions & 0 deletions

File tree

core/src/main/java/me/zort/sqllib/mapping/DefaultStatementMapping.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import me.zort.sqllib.api.data.QueryResult;
99
import me.zort.sqllib.internal.query.QueryNode;
1010
import me.zort.sqllib.internal.query.QueryNodeRequest;
11+
import me.zort.sqllib.mapping.annotation.Append;
1112
import me.zort.sqllib.mapping.exception.SQLMappingException;
1213
import me.zort.sqllib.util.ParameterPair;
1314
import org.jetbrains.annotations.Nullable;
@@ -56,6 +57,11 @@ public QueryResult executeQuery(Method method, Object[] args, @Nullable Class<?>
5657

5758
QueryNode<?> node = wrappedAnnotation.getQueryBuilder().build(connection, queryAnnotation, method, parameters);
5859

60+
if (method.isAnnotationPresent(Append.class)) {
61+
Append append = method.getAnnotation(Append.class);
62+
node.then(new PlaceholderMapper(parameters).assignValues(append.value()));
63+
}
64+
5965
if (mapTo != null && wrappedAnnotation.isProducesResult() && QueryRowsResult.class.isAssignableFrom(mapTo)) {
6066
return ((SQLDatabaseConnection) connection).query(node);
6167
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package me.zort.sqllib.mapping.annotation;
2+
3+
import java.lang.annotation.ElementType;
4+
import java.lang.annotation.Retention;
5+
import java.lang.annotation.RetentionPolicy;
6+
import java.lang.annotation.Target;
7+
8+
@Retention(RetentionPolicy.RUNTIME)
9+
@Target(ElementType.METHOD)
10+
public @interface Append {
11+
12+
String value();
13+
14+
}

0 commit comments

Comments
 (0)