refactor: 简化代码 #3
@ -26,6 +26,7 @@ import java.util.OptionalInt;
|
|||||||
import java.util.OptionalLong;
|
import java.util.OptionalLong;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import xyz.zhouxy.plusone.commons.collection.CollectionTools;
|
import xyz.zhouxy.plusone.commons.collection.CollectionTools;
|
||||||
import xyz.zhouxy.plusone.commons.util.ArrayTools;
|
import xyz.zhouxy.plusone.commons.util.ArrayTools;
|
||||||
@ -49,30 +50,18 @@ public class ParamBuilder {
|
|||||||
if (ArrayTools.isEmpty(params)) {
|
if (ArrayTools.isEmpty(params)) {
|
||||||
return EMPTY_OBJECT_ARRAY;
|
return EMPTY_OBJECT_ARRAY;
|
||||||
}
|
}
|
||||||
return Arrays.stream(params)
|
return buildParamsFromStream(Arrays.stream(params));
|
||||||
.map(param -> {
|
|
||||||
if (param instanceof Optional) {
|
|
||||||
return OptionalTools.orElseNull((Optional<?>) param);
|
|
||||||
}
|
|
||||||
if (param instanceof OptionalInt) {
|
|
||||||
return OptionalTools.toInteger((OptionalInt) param);
|
|
||||||
}
|
|
||||||
if (param instanceof OptionalLong) {
|
|
||||||
return OptionalTools.toLong((OptionalLong) param);
|
|
||||||
}
|
|
||||||
if (param instanceof OptionalDouble) {
|
|
||||||
return OptionalTools.toDouble((OptionalDouble) param);
|
|
||||||
}
|
|
||||||
return param;
|
|
||||||
})
|
|
||||||
.toArray();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Object[] buildParams(final Collection<?> params) {
|
public static Object[] buildParams(final Collection<?> params) {
|
||||||
if (CollectionTools.isEmpty(params)) {
|
if (CollectionTools.isEmpty(params)) {
|
||||||
return EMPTY_OBJECT_ARRAY;
|
return EMPTY_OBJECT_ARRAY;
|
||||||
}
|
}
|
||||||
return params.stream()
|
return buildParamsFromStream(params.stream());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Object[] buildParamsFromStream(Stream<?> stream) {
|
||||||
|
return stream
|
||||||
.map(param -> {
|
.map(param -> {
|
||||||
if (param instanceof Optional) {
|
if (param instanceof Optional) {
|
||||||
return OptionalTools.orElseNull((Optional<?>) param);
|
return OptionalTools.orElseNull((Optional<?>) param);
|
||||||
|
@ -175,7 +175,7 @@ class SimpleJdbcTemplateTests {
|
|||||||
Optional<Map<String, Object>> first = jdbcTemplate
|
Optional<Map<String, Object>> first = jdbcTemplate
|
||||||
.queryFirst("SELECT * FROM sys_account WHERE id = ?", buildParams(id));
|
.queryFirst("SELECT * FROM sys_account WHERE id = ?", buildParams(id));
|
||||||
log.info("first: {}", first);
|
log.info("first: {}", first);
|
||||||
assertTrue(!first.isPresent());
|
assertFalse(first.isPresent());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 没有异常,提交事务
|
// 没有异常,提交事务
|
||||||
@ -208,7 +208,7 @@ class SimpleJdbcTemplateTests {
|
|||||||
Optional<Map<String, Object>> first = jdbcTemplate
|
Optional<Map<String, Object>> first = jdbcTemplate
|
||||||
.queryFirst("SELECT * FROM sys_account WHERE id = ?", buildParams(id));
|
.queryFirst("SELECT * FROM sys_account WHERE id = ?", buildParams(id));
|
||||||
log.info("first: {}", first);
|
log.info("first: {}", first);
|
||||||
assertTrue(!first.isPresent());
|
assertFalse(first.isPresent());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 返回 false,回滚
|
// 返回 false,回滚
|
||||||
@ -223,7 +223,7 @@ class SimpleJdbcTemplateTests {
|
|||||||
Optional<Map<String, Object>> first = jdbcTemplate
|
Optional<Map<String, Object>> first = jdbcTemplate
|
||||||
.queryFirst("SELECT * FROM sys_account WHERE id = ?", buildParams(id));
|
.queryFirst("SELECT * FROM sys_account WHERE id = ?", buildParams(id));
|
||||||
log.info("first: {}", first);
|
log.info("first: {}", first);
|
||||||
assertTrue(!first.isPresent());
|
assertFalse(first.isPresent());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 返回 true,提交事务
|
// 返回 true,提交事务
|
||||||
|
Loading…
x
Reference in New Issue
Block a user