-
Notifications
You must be signed in to change notification settings - Fork 18
DialectConfiguration
GangCheng edited this page Feb 6, 2025
·
1 revision
- Built-in dialects are located in package.
- You can define a customized
PlaceholderDialect
then register it intoR2dbcMybatisConfiguration
- The placeholder dialect's process is located in DefaultPlaceholderFormatter.
- More detail see the source code please.
Clickhouse Dialect ⬇️
public class ClickhousePlaceholderDialect implements NamePlaceholderDialect {
/**
* The dialect name.
*/
public static final String DIALECT_NAME = "Clickhouse";
private static final Pattern PROPERTY_PATTERN = Pattern.compile("\\.|[^@:;/$\\d\\w_]");
@Override
public String name() {
return DIALECT_NAME;
}
@Override
public String getMarker() {
return ":Ch_";
}
@Override
public String propertyNamePostProcess(String propertyName) {
if (Objects.isNull(propertyName) || propertyName.length() == 0) {
return propertyName;
}
return PROPERTY_PATTERN.matcher(propertyName).replaceAll("_");
}
}
then register it into R2dbcMybatisConfiguration
:
R2dbcMybatisConfiguration r2dbcMybatisConfiguration = ...
r2dbcMybatisConfiguration.getPlaceholderDialectRegistry().register(new ClickhousePlaceholderDialect());
in spring application:
@Bean
public R2dbcMybatisConfigurationCustomizer r2dbcMybatisConfigurationCustomizer(){
return r2dbcMybatisConfiguration -> r2dbcMybatisConfiguration.getPlaceholderDialectRegistry()
.register(new ClickhousePlaceholderDialect());
}
- Associated Concept
- Basic Operation Instruction
- Integration with Spring Framework