All Downloads are FREE. Search and download functionalities are using the official Maven repository.

me.zzp.ar.d.SQLiteDialect Maven / Gradle / Ivy

package me.zzp.ar.d;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import me.zzp.ar.ex.DBOpenException;

/**
 * SQLite方言。
 * 
 * @since 1.0
 * @author redraiment
 */
public class SQLiteDialect implements Dialect {
  /**
   * 判断当前数据库的名称里是否包含sqlite(忽略大小写)。
   * 
   * @param c 数据库连接
   * @return 如果数据库名称包含sqlite,则返回true;否则返回false。
   */
  @Override
  public boolean accept(Connection c) {
    try {
      DatabaseMetaData d = c.getMetaData();
      String name = d.getDatabaseProductName(); // SQLite
      return name.toLowerCase().contains("sqlite");
    } catch (SQLException e) {
      throw new DBOpenException(e);
    }
  }

  /**
   * 返回SQLite中定义自增长的整型主键语句。
   * 
   * @return integer primary key autoincrement。
   */
  @Override
  public String getIdentity() {
    return "integer primary key autoincrement";
  }

  /**
   * 原样返回标识。
   * 
   * @param identifier 待转换的标识。
   * @return 标识本身。
   */
  @Override
  public String getCaseIdentifier(String identifier) {
    return identifier;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy