package com.github.walker.easydb.exception;
import java.sql.SQLException;
/**
* <p>
* This Excepion may be throwed when operating, accessing the permanent data.
* </p>
*
* @author HuQingmiao
*/
@SuppressWarnings("serial")
public class DataAccessException extends BaseException {
//private static LingualResource res = ResourceFactory.getResource();
public static final String DB_CONNECT_FAILED = "连接数据库失败!";
public static final String USERNAME_PASSWORD_ERROR = "数据库用户名或密码不正确!";
public static final String ONLY_FOR_SELECT = "查询语句不能以'UPDATE ','DELETE ','INSERT ','TRUNCATE ','DROP ','ALTER '开头!";
public static final String SQL_SYNTAX_ERROR = "SQL有语法错误!";
public static final String TABLE_NOT_EXIST = "表或视图不存在!";
public static final String COLUMN_NOT_EXIST = "列名不存在!";
public static final String VALUE_EXCEED_PRECISION = "数值超过处理精度!";
public static final String INVALID_NUMBER = "无效的数字!";
public static final String VALUE_EXCEED_BOUND = "插入的值对于列过大!";
public static final String INVALID_DATE = "无效的日期或时间!";
public static final String DISOBEY_UNIQUE = "违反唯一约束: 该记录已经存在,请不要重复录入!";
public static final String DISOBEY_NOTNULL = "该项不能为空, 请检查!";
public static final String NOT_SPECIFIED_PK = "表没有指定主键!";
public static final String WRITING_BIGTYPE_FORONLYONE = "对BLOB/CLOB的写入,每次只能作用在用主键值标识的唯一记录上!";
public static final String NOT_ALL_VARIABLE_RELATED = "并非所有变量都已关联,参数值比'?'多或少!";
public static final String BATCH_PARAM_MORE = "批量操作时, 某组参数的值比'?'多!";
public static final String BATCH_PARAM_LESS = "批量操作时, 某组参数的值比'?'少!";
public static final String SQL_CANNOT_NULL = "执行的 SQL 语句不能为NULL或空值!";
public static final String RS_COUNT_GREATER1 = "查询出来的结果数大于1,请检查WHERE子句中的查询条件!";
public static final String PK_NOT_CORRECT = "查询出来的结果数大于1,请检查实体类pk()方法中指定的主键属性是否正确!";
public static final String FUNCTION_NOT_EXIST = "不存在的数据库函数!";
// public static final String NODATA_TOLOAD =
// "当执行loadByPK(BaseEntity)方法时,没有找到与主键值匹配的数据!";
public static final String NOTFOUND_DB_CONFIG = "没有找到数据库的配置信息!";
public static final String UNSUPPORTED_DBTABASE = "EasyDB组件目前还不支持这种类型的数据库!";
public static final String UNKNOW_ERROR = "未知的错误!";
public DataAccessException() {
super();
}
public DataAccessException(String message) {
super(message);
}
/**
* 构造子
*
* @param errMsg 错误信息
* @param desc 需要补充的对错误信息的描述
*/
public DataAccessException(String errMsg, String desc) {
this.message = errMsg + " " + message;
}
/**
* @param dbType
* @param e
* @deprecated 不建议用,请改用 new DataAccessException(dbType, e.getErrorCode)
*/
public DataAccessException(String dbType, SQLException e) {
this(dbType, e.getErrorCode());
}
public DataAccessException(String dbType, int errCode) {
ErrorLocator errLocator = ErrorLocator.getInstance(dbType);
this.message = errLocator.getErrorMsg(errCode);
}
public DataAccessException(String dbType, int errCode, String desc) {
ErrorLocator errLocator = ErrorLocator.getInstance(dbType);
this.message = errLocator.getErrorMsg(errCode) + " " + desc;
}
}