优化代码。
parent
dcb86f9100
commit
79466d180f
|
@ -8,6 +8,9 @@ import javax.annotation.Nonnull;
|
|||
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
|
||||
import org.springframework.jdbc.core.namedparam.SqlParameterSource;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
import xyz.zhouxy.plusone.commons.annotation.Overridable;
|
||||
import xyz.zhouxy.plusone.domain.AggregateRoot;
|
||||
import xyz.zhouxy.plusone.domain.IRepository;
|
||||
|
||||
|
@ -19,35 +22,33 @@ public abstract class JdbcRepositorySupport<T extends AggregateRoot<ID>, ID exte
|
|||
super(namedParameterJdbcTemplate);
|
||||
}
|
||||
|
||||
@Overridable
|
||||
protected abstract void doDelete(@Nonnull T entity);
|
||||
|
||||
@Overridable
|
||||
protected abstract Optional<T> doFindById(@Nonnull ID id);
|
||||
|
||||
@Overridable
|
||||
protected abstract T doInsert(@Nonnull T entity);
|
||||
|
||||
@Overridable
|
||||
protected abstract T doUpdate(@Nonnull T entity);
|
||||
|
||||
@Override
|
||||
public final void delete(T entity) {
|
||||
if (entity == null) {
|
||||
throw new IllegalArgumentException("Cannot delete null.");
|
||||
}
|
||||
Preconditions.checkArgument(entity != null, "Cannot delete null.");
|
||||
doDelete(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Optional<T> find(ID id) {
|
||||
if (id == null) {
|
||||
throw new IllegalArgumentException("Id cannot be null.");
|
||||
}
|
||||
Preconditions.checkArgument(id != null, "Id cannot be null.");
|
||||
return doFindById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final T save(T entity) {
|
||||
if (entity == null) {
|
||||
throw new IllegalArgumentException("Cannot save null.");
|
||||
}
|
||||
Preconditions.checkArgument(entity != null, "Cannot save null.");
|
||||
return entity.getId().isPresent() ? doUpdate(entity) : doInsert(entity);
|
||||
}
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ import java.sql.SQLException;
|
|||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
|
@ -94,13 +95,12 @@ public class DictRepositoryImpl extends JdbcRepositorySupport<Dict, Long> implem
|
|||
|
||||
@Override
|
||||
protected final Dict mapRow(ResultSet rs) throws SQLException {
|
||||
long id = rs.getLong("id");
|
||||
return new Dict(
|
||||
id,
|
||||
rs.getString("dict_type"),
|
||||
rs.getString("dict_label"),
|
||||
this.dictValueDAO.selectDictValuesByDictId(id),
|
||||
rs.getLong("version"));
|
||||
final long id = rs.getLong("id");
|
||||
final String dictType = rs.getString("dict_type");
|
||||
final String dictLabel = rs.getString("dict_label");
|
||||
final Set<DictValue> values = this.dictValueDAO.selectDictValuesByDictId(id);
|
||||
final long version = rs.getLong("version");
|
||||
return new Dict(id, dictType, dictLabel, values, version);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue