有没有办法使用打字稿生成带有 40 个随机符号的随机字符串?
我正在尝试为数据库表实现正确的搜索功能。我尝试了这种方法:
控制器:
@GetMapping
public Page<TransactionDTO> find(TransactionFilterDTO filter, Pageable page) {
return searchRepository
.findTransactionsByFilter(mapper.toFilter(filter), page)
.map(mapper::toDTO);
}
Run Code Online (Sandbox Code Playgroud)
Filer DTO:
public class TransactionFilterDTO {
private String name;
private Integer id;
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
private LocalDateTime from;
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
private LocalDateTime to;
... // getters and setter
}
Run Code Online (Sandbox Code Playgroud)
搜索实现:
@Repository
public class TransactionSearchRepositoryImpl implements TransactionSearchRepository {
@Autowired
private TransactionRepository transactionRepository;
@Autowired
private TransactionSpecification specification;
@Override
public Page<Transaction> findTransactionsByFilter(TransactionFilter filter, @Nullable Pageable page) {
List<Transaction> transactions = transactionRepository
.findAll(specification.getFilter(filter));
int totalCount = transactions.size(); …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现这个 JUnit 代码:
private BinlistsService binlistsService = Mockito.mock(BinlistsService.class);
@Mock
Optional<BinLists> binList = null;
@BeforeEach
public void beforeEachTest() throws IOException {
BinLists binLists = new BinLists();
binLists.setId(1);
....
binList = Optional.of(binLists);
}
@Test
public void testBinCountryCheckFilterImpl() {
when(binlistsService.findByName(anyString())).thenReturn(binList);
}
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误堆栈:
org.mockito.exceptions.base.MockitoException:
Cannot mock/spy class java.util.Optional
Mockito cannot mock/spy because :
- final class
at org.data
Run Code Online (Sandbox Code Playgroud)
你知道我该如何解决这个问题吗?
我想配置 Spring Boot 以使用 2 个 JNDI 数据源。我试过这个配置:
应用程序属性
spring.production-datasource.jndi-name=java:/global/production_gateway
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDBDialect
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
spring.warehouse-datasource.jndi-name=java:/global/production_warehouse
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDBDialect
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
Run Code Online (Sandbox Code Playgroud)
主数据库
@Configuration
@EnableJpaRepositories(
basePackages = "org.datalis.plugin.production.entity",
entityManagerFactoryRef = "productionEntityManager",
transactionManagerRef = "productionTransactionManager"
)
@EnableTransactionManagement
public class ContextProductionDatasource {
@Autowired
private Environment env;
@Primary
@Bean
@ConfigurationProperties(prefix="spring.production-datasource")
public DataSource productionDataSource() {
return DataSourceBuilder.create().build();
}
@Primary
@Bean
public EntityManager productionEntityManager(EntityManagerFactory emf) {
return emf.createEntityManager();
}
@Primary
@Bean
public PlatformTransactionManager productionTransactionManager(final EntityManagerFactory emf) {
final JpaTransactionManager transactionManager …Run Code Online (Sandbox Code Playgroud) I implemented this Page request:
@GetMapping
public PageImpl<ProductFullDTO> list(@RequestParam(name = "page", defaultValue = "0") int page,
@RequestParam(name = "size", defaultValue = "10") int size) {
PageRequest pageRequest = PageRequest.of(page, size);
PageImpl<ProductFullDTO> result = productRestService.page(pageRequest);
return result;
}
public PageImpl<ProductFullDTO> page(PageRequest pageRequest){
Page<Product> pageResult = productService.findAll(pageRequest);
List<ProductFullDTO> result = pageResult
.stream()
.map(productMapper::toFullDTO)
.collect(toList());
return new PageImpl<ProductFullDTO>(result, pageRequest, pageResult.getTotalElements());
}
public Page<Product> findAll(PageRequest pageRequest) {
return this.dao.findAll(pageRequest);
}
@Repository
public interface ProductRepository extends JpaRepository<Product, Integer>, JpaSpecificationExecutor<Product> {
Page<Product> findAllByTypeIn(Pageable page, String... types); …Run Code Online (Sandbox Code Playgroud) 我想创建一个 ENUM,它保存可能的数据库值的不同状态,并使用它们在 FE 中生成可能的下拉状态:
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
public enum BusinessCustomersStatus {
A("active", "Active"),
O("onboarding", "Onboarding"),
NV("not_verified", "Not Verified"),
V("verified", "Verified"),
S("suspended", "Suspended"),
I("inactive", "Inactive");
private String shortName;
private String fullName;
BusinessCustomersStatus(String shortName, String fullName) {
this.shortName = shortName;
this.fullName = fullName;
}
// Define the status field as the enum representation by using @JsonValue
@JsonValue
public String getShortName() {
return shortName;
}
@JsonValue
public String getFullName() {
return fullName;
}
// Use the fromStatus method as @JsonCreator
@JsonCreator
public …Run Code Online (Sandbox Code Playgroud) 我想在Oracle中创建此表.这只是表SQL脚本.
-- CREATE TABLES SECTION -------------------------------------------------
-- TABLE DATACENTER
CREATE TABLE DATACENTER(
DATACENTERID INTEGER NOT NULL,
NAME VARCHAR2(80 ) NOT NULL,
LOCATION VARCHAR2(200 ),
DCALLOWEDWEIGHTKG NUMBER(9,0),
DCMAXIMUMWEIGHTKG NUMBER(9,0),
DCALLOWEDPOWERWATT NUMBER(9,0),
DCMAXPOWERWATT NUMBER(9,0),
DCALLOWCOOLINGPOWERBTU NUMBER(9,0),
DCMAXCOOLINGPOWERBTU NUMBER(9,0),
DESCRIPTION CLOB
)
/
-- ADD KEYS FOR TABLE DATACENTER
ALTER TABLE DATACENTER ADD CONSTRAINT DATACENTERID PRIMARY KEY (DATACENTERID)
/
-- TABLE COMPONENT
CREATE TABLE COMPONENT(
COMPONENTID INTEGER NOT NULL,
DATACENTERID INTEGER,
FKCOMPONENTID INTEGER,
COMPONENTSTATSID INTEGER NOT NULL
)
/
-- ADD KEYS FOR …Run Code Online (Sandbox Code Playgroud) 我有这个组合框,可将对象列表插入组合框中:
private List<ListGroupsObj> lisGroups;
public static class ListGroupsObj
{
private int groupId;
private String groupName;
public static ListGroupsObj newInstance()
{
return new ListGroupsObj();
}
public ListGroupsObj()
{
}
public ListGroupsObj groupId(int groupId)
{
this.groupId = groupId;
return this;
}
public ListGroupsObj groupName(String groupName)
{
this.groupName = groupName;
return this;
}
public int getGroupId()
{
return groupId;
}
public String getGroupName()
{
return groupName;
}
// @Override
// public String toString()
// {
// return serverName;
// }
}
ListGroupsObj ob …Run Code Online (Sandbox Code Playgroud) 我有此int专栏:
@Column(length = 4)
private int contract_owner_id;
Run Code Online (Sandbox Code Playgroud)
我不需要为每个表行设置始终值。当我进行选择查询时,我得到此异常:
Can not set int field org.entity.contracts.contract_owner_id to null value
Run Code Online (Sandbox Code Playgroud)
当表列中没有数据时,有什么方法可以设置麻木的设置?
我使用这个Ruby哈希来获取金额限制:
AMOUNT_LIMITS_FOR_TRX_TYPE = {
zimpler: {
eur: { min: 3_50, max: 15_00_00 },
sek: { min: 35_00, max: 15_000_00 }
},
qiwi: {
eur: { min: 5_00, max: 350_00 },
usd: { min: 5_00, max: 500_00 },
rub: { min: 500_00, max: 15_000_00 },
kzt: { min: 500_00, max: 74_300_00 }
},
payu: {
czk: { min: 1, max: 1_000_000_00 },
pln: { min: 1, max: 1_000_000_00 }
}
}.freeze
def amount_for(transaction_type, currency)
p transaction_type
p currency
min_amount = AMOUNT_LIMITS_FOR_TRX_TYPE[transaction_type.to_sym][currency.to_sym][:min] …Run Code Online (Sandbox Code Playgroud)