java.lang.Object
org.miaixz.bus.pager.binding.PageAutoDialect
提供数据库分页方言的自动识别和配置功能。
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionautoGetDialect(org.apache.ibatis.mapping.MappedStatement ms) 自动获取分页方言实现。void清除线程本地方言代理。static StringfromJdbcUrl(String jdbcUrl) 从JDBC URL提取方言名称。获取当前方言代理对象。获取线程本地方言实例。voidinitDelegateDialect(org.apache.ibatis.mapping.MappedStatement ms, String dialectClass) 初始化方言代理,支持运行时指定方言。static AbstractPaginginstanceDialect(String dialectClass, Properties properties) 实例化方言对象。static voidregisterAutoDialectAlias(String alias, Class<? extends AutoDialect> autoDialectClass) 注册自动方言别名。static voidregisterDialectAlias(String alias, Class<? extends Dialect> dialectClass) 注册方言别名。static ClassresloveDialectClass(String className) 解析方言类。voidsetDialectThreadLocal(AbstractPaging delegate) 设置线程本地方言实例。voidsetProperties(Properties properties) 设置分页配置属性。
-
Constructor Details
-
PageAutoDialect
public PageAutoDialect()
-
-
Method Details
-
registerDialectAlias
注册方言别名。- Parameters:
alias- 方言别名dialectClass- 方言实现类
-
registerAutoDialectAlias
public static void registerAutoDialectAlias(String alias, Class<? extends AutoDialect> autoDialectClass) 注册自动方言别名。- Parameters:
alias- 自动方言别名autoDialectClass- 自动方言实现类
-
fromJdbcUrl
从JDBC URL提取方言名称。- Parameters:
jdbcUrl- JDBC URL- Returns:
- 方言名称,若无法识别则返回null
-
resloveDialectClass
解析方言类。- Parameters:
className- 方言类名或别名- Returns:
- 方言实现类
- Throws:
Exception- 若类不存在或无法加载
-
instanceDialect
实例化方言对象。- Parameters:
dialectClass- 方言类名或别名properties- 配置属性- Returns:
- 方言实例
- Throws:
org.miaixz.bus.core.lang.exception.PageException- 若实例化失败
-
getDelegate
获取当前方言代理对象。- Returns:
- 方言实例
-
clearDelegate
public void clearDelegate()清除线程本地方言代理。 -
getDialectThreadLocal
获取线程本地方言实例。- Returns:
- 方言实例
-
setDialectThreadLocal
设置线程本地方言实例。- Parameters:
delegate- 方言实例
-
initDelegateDialect
初始化方言代理,支持运行时指定方言。- Parameters:
ms- MyBatis映射语句dialectClass- 方言实现类或别名,如"mysql"、"oracle"
-
autoGetDialect
自动获取分页方言实现。- Parameters:
ms- MyBatis映射语句- Returns:
- 方言实例
-
setProperties
设置分页配置属性。- Parameters:
properties- 配置属性
-