Module bus.pager

Class PageAutoDialect

java.lang.Object
org.miaixz.bus.pager.binding.PageAutoDialect

public class PageAutoDialect extends Object
提供数据库分页方言的自动识别和配置功能。
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • PageAutoDialect

      public PageAutoDialect()
  • Method Details

    • registerDialectAlias

      public static void registerDialectAlias(String alias, Class<? extends Dialect> dialectClass)
      注册方言别名。
      Parameters:
      alias - 方言别名
      dialectClass - 方言实现类
    • registerAutoDialectAlias

      public static void registerAutoDialectAlias(String alias, Class<? extends AutoDialect> autoDialectClass)
      注册自动方言别名。
      Parameters:
      alias - 自动方言别名
      autoDialectClass - 自动方言实现类
    • fromJdbcUrl

      public static String fromJdbcUrl(String jdbcUrl)
      从JDBC URL提取方言名称。
      Parameters:
      jdbcUrl - JDBC URL
      Returns:
      方言名称,若无法识别则返回null
    • resloveDialectClass

      public static Class resloveDialectClass(String className) throws Exception
      解析方言类。
      Parameters:
      className - 方言类名或别名
      Returns:
      方言实现类
      Throws:
      Exception - 若类不存在或无法加载
    • instanceDialect

      public static AbstractPaging instanceDialect(String dialectClass, Properties properties)
      实例化方言对象。
      Parameters:
      dialectClass - 方言类名或别名
      properties - 配置属性
      Returns:
      方言实例
      Throws:
      org.miaixz.bus.core.lang.exception.PageException - 若实例化失败
    • getDelegate

      public AbstractPaging getDelegate()
      获取当前方言代理对象。
      Returns:
      方言实例
    • clearDelegate

      public void clearDelegate()
      清除线程本地方言代理。
    • getDialectThreadLocal

      public AbstractPaging getDialectThreadLocal()
      获取线程本地方言实例。
      Returns:
      方言实例
    • setDialectThreadLocal

      public void setDialectThreadLocal(AbstractPaging delegate)
      设置线程本地方言实例。
      Parameters:
      delegate - 方言实例
    • initDelegateDialect

      public void initDelegateDialect(org.apache.ibatis.mapping.MappedStatement ms, String dialectClass)
      初始化方言代理,支持运行时指定方言。
      Parameters:
      ms - MyBatis映射语句
      dialectClass - 方言实现类或别名,如"mysql"、"oracle"
    • autoGetDialect

      public AbstractPaging autoGetDialect(org.apache.ibatis.mapping.MappedStatement ms)
      自动获取分页方言实现。
      Parameters:
      ms - MyBatis映射语句
      Returns:
      方言实例
    • setProperties

      public void setProperties(Properties properties)
      设置分页配置属性。
      Parameters:
      properties - 配置属性