Skip to content

Commit 16c3880

Browse files
committed
Make ParameterTypeConverter compatible with Spring
1 parent 147d40d commit 16c3880

File tree

6 files changed

+9
-8
lines changed

6 files changed

+9
-8
lines changed

src/main/java/org/mybatis/dynamic/sql/BindableColumn.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public interface BindableColumn<T> extends BasicColumn {
3636
@Override
3737
BindableColumn<T> as(String alias);
3838

39-
default @Nullable Object convertParameterType(@Nullable T value) {
39+
default @Nullable Object convertParameterType(T value) {
4040
return value;
4141
}
4242

src/main/java/org/mybatis/dynamic/sql/ParameterTypeConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,5 @@
5252
*/
5353
@FunctionalInterface
5454
public interface ParameterTypeConverter<S, T> {
55-
@Nullable T convert(@Nullable S source);
55+
@Nullable T convert(S source);
5656
}

src/main/java/org/mybatis/dynamic/sql/SqlColumn.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public Optional<Class<T>> javaType() {
8181

8282
@Override
8383
public @Nullable Object convertParameterType(@Nullable T value) {
84-
return parameterTypeConverter.convert(value);
84+
return value == null ? null : parameterTypeConverter.convert(value);
8585
}
8686

8787
@Override

src/main/java/org/mybatis/dynamic/sql/util/ValueWhenPresentMapping.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public Optional<Object> value() {
3838
return Optional.ofNullable(valueSupplier.get()).map(this::convert);
3939
}
4040

41-
private @Nullable Object convert(T value) {
41+
private @Nullable Object convert(@Nullable T value) {
4242
return localColumn.convertParameterType(value);
4343
}
4444

src/test/java/examples/spring/LastNameParameterConverter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
public class LastNameParameterConverter implements ParameterTypeConverter<LastName, String>,
2323
Converter<LastName, String> {
2424
@Override
25-
public @Nullable String convert(@Nullable LastName source) {
26-
return source == null ? null : source.getName();
25+
public @Nullable String convert(LastName source) {
26+
return source.getName();
2727
}
2828
}

src/test/java/examples/spring/YesNoParameterConverter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,14 @@
1515
*/
1616
package examples.spring;
1717

18+
import org.jspecify.annotations.NonNull;
1819
import org.jspecify.annotations.Nullable;
1920
import org.mybatis.dynamic.sql.ParameterTypeConverter;
2021

2122
public class YesNoParameterConverter implements ParameterTypeConverter<Boolean, String> {
2223

2324
@Override
24-
public @Nullable String convert(@Nullable Boolean source) {
25-
return source == null ? null : source ? "Yes" : "No";
25+
public @Nullable String convert(@NonNull Boolean source) {
26+
return source ? "Yes" : "No";
2627
}
2728
}

0 commit comments

Comments
 (0)