⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 field.java

📁 mysql5.0 JDBC 驱动 放在glassfish或者tomcat的lib文件夹下就可以了
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public String getFullName() throws SQLException {		if (this.fullName == null) {			StringBuffer fullNameBuf = new StringBuffer(getTableName().length()					+ 1 + getName().length());			fullNameBuf.append(this.tableName);			// much faster to append a char than a String			fullNameBuf.append('.');			fullNameBuf.append(this.name);			this.fullName = fullNameBuf.toString();			fullNameBuf = null;		}		return this.fullName;	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public String getFullOriginalName() throws SQLException {		getOriginalName();		if (this.originalColumnName == null) {			return null; // we don't have this information		}		if (this.fullName == null) {			StringBuffer fullOriginalNameBuf = new StringBuffer(					getOriginalTableName().length() + 1							+ getOriginalName().length());			fullOriginalNameBuf.append(this.originalTableName);			// much faster to append a char than a String			fullOriginalNameBuf.append('.');			fullOriginalNameBuf.append(this.originalColumnName);			this.fullOriginalName = fullOriginalNameBuf.toString();			fullOriginalNameBuf = null;		}		return this.fullOriginalName;	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public long getLength() {		return this.length;	}	public synchronized int getMaxBytesPerCharacter() throws SQLException {		if (this.maxBytesPerChar == 0) {			this.maxBytesPerChar = this.connection.getMaxBytesPerChar(getCharacterSet());		}		return this.maxBytesPerChar;	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public int getMysqlType() {		return this.mysqlType;	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public String getName() throws SQLException {		if (this.name == null) {			this.name = getStringFromBytes(this.nameStart, this.nameLength);		}		return this.name;	}	public String getNameNoAliases() throws SQLException {		if (this.useOldNameMetadata) {			return getName();		}		if (this.connection != null &&				this.connection.versionMeetsMinimum(4, 1, 0)) {			return getOriginalName();		}		return getName();	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public String getOriginalName() throws SQLException {		if ((this.originalColumnName == null)				&& (this.originalColumnNameStart != -1)				&& (this.originalColumnNameLength != -1)) {			this.originalColumnName = getStringFromBytes(					this.originalColumnNameStart, this.originalColumnNameLength);		}		return this.originalColumnName;	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public String getOriginalTableName() throws SQLException {		if ((this.originalTableName == null)				&& (this.originalTableNameStart != -1)				&& (this.originalTableNameLength != -1)) {			this.originalTableName = getStringFromBytes(					this.originalTableNameStart, this.originalTableNameLength);		}		return this.originalTableName;	}	/**	 * Returns amount of correction that should be applied to the precision	 * value.	 *	 * Different versions of MySQL report different precision values.	 *	 * @return the amount to adjust precision value by.	 */	public int getPrecisionAdjustFactor() {		return this.precisionAdjustFactor;	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public int getSQLType() {		return this.sqlType;	}	/**	 * Create a string with the correct charset encoding from the byte-buffer	 * that contains the data for this field	 */	private String getStringFromBytes(int stringStart, int stringLength)			throws SQLException {		if ((stringStart == -1) || (stringLength == -1)) {			return null;		}		String stringVal = null;		if (this.connection != null) {			if (this.connection.getUseUnicode()) {				String encoding = this.connection.getCharacterSetMetadata();				if (encoding == null) {					encoding = connection.getEncoding();				}				if (encoding != null) {					SingleByteCharsetConverter converter = null;					if (this.connection != null) {						converter = this.connection								.getCharsetConverter(encoding);					}					if (converter != null) { // we have a converter						stringVal = converter.toString(this.buffer,								stringStart, stringLength);					} else {						// we have no converter, use JVM converter						byte[] stringBytes = new byte[stringLength];						int endIndex = stringStart + stringLength;						int pos = 0;						for (int i = stringStart; i < endIndex; i++) {							stringBytes[pos++] = this.buffer[i];						}						try {							stringVal = new String(stringBytes, encoding);						} catch (UnsupportedEncodingException ue) {							throw new RuntimeException(Messages									.getString("Field.12") + encoding //$NON-NLS-1$									+ Messages.getString("Field.13")); //$NON-NLS-1$						}					}				} else {					// we have no encoding, use JVM standard charset					stringVal = StringUtils.toAsciiString(this.buffer,							stringStart, stringLength);				}			} else {				// we are not using unicode, so use JVM standard charset				stringVal = StringUtils.toAsciiString(this.buffer, stringStart,						stringLength);			}		} else {			// we don't have a connection, so punt			stringVal = StringUtils.toAsciiString(this.buffer, stringStart,					stringLength);		}		return stringVal;	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public String getTable() throws SQLException {		return getTableName();	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public String getTableName() throws SQLException {		if (this.tableName == null) {			this.tableName = getStringFromBytes(this.tableNameStart,					this.tableNameLength);		}		return this.tableName;	}	public String getTableNameNoAliases() throws SQLException {		if (this.connection.versionMeetsMinimum(4, 1, 0)) {			return getOriginalTableName();		}		return getTableName(); // pre-4.1, no aliases returned	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public boolean isAutoIncrement() {		return ((this.colFlag & AUTO_INCREMENT_FLAG) > 0);	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public boolean isBinary() {		return ((this.colFlag & 128) > 0);	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public boolean isBlob() {		return ((this.colFlag & 16) > 0);	}	/**	 * Is this field owned by a server-created temporary table?	 *	 * @return	 */	private boolean isImplicitTemporaryTable() {		return this.isImplicitTempTable;	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public boolean isMultipleKey() {		return ((this.colFlag & 8) > 0);	}	boolean isNotNull() {		return ((this.colFlag & 1) > 0);	}	boolean isOpaqueBinary() throws SQLException {		//		// Detect CHAR(n) CHARACTER SET BINARY which is a synonym for		// fixed-length binary types		//		if (this.charsetIndex == 63 && isBinary()				&& (this.getMysqlType() == MysqlDefs.FIELD_TYPE_STRING ||				this.getMysqlType() == MysqlDefs.FIELD_TYPE_VAR_STRING)) {			if (this.originalTableNameLength == 0 && (					this.connection != null && !this.connection.versionMeetsMinimum(5, 0, 25))) {				return false; // Probably from function			}			// Okay, queries resolved by temp tables also have this 'signature',			// check for that			return !isImplicitTemporaryTable();		}		return (this.connection.versionMeetsMinimum(4, 1, 0) && "binary"				.equalsIgnoreCase(getCharacterSet()));	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public boolean isPrimaryKey() {		return ((this.colFlag & 2) > 0);	}	/**	 * Is this field _definitely_ not writable?	 *	 * @return true if this field can not be written to in an INSERT/UPDATE	 *         statement.	 */	boolean isReadOnly() throws SQLException {		if (this.connection.versionMeetsMinimum(4, 1, 0)) {			String orgColumnName = getOriginalName();			String orgTableName = getOriginalTableName();			return !(orgColumnName != null && orgColumnName.length() > 0					&& orgTableName != null && orgTableName.length() > 0);		}		return false; // we can't tell definitively in this case.	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public boolean isUniqueKey() {		return ((this.colFlag & 4) > 0);	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public boolean isUnsigned() {		return ((this.colFlag & 32) > 0);	}	/**	 * DOCUMENT ME!	 *	 * @return DOCUMENT ME!	 */	public boolean isZeroFill() {		return ((this.colFlag & 64) > 0);	}	//	// MySQL only has one protocol-level BLOB type that it exposes	// which is FIELD_TYPE_BLOB, although we can divine what the	// actual type is by the length reported ...	//	private void setBlobTypeBasedOnLength() {		if (this.length == MysqlDefs.LENGTH_TINYBLOB) {			this.mysqlType = MysqlDefs.FIELD_TYPE_TINY_BLOB;		} else if (this.length == MysqlDefs.LENGTH_BLOB) {			this.mysqlType = MysqlDefs.FIELD_TYPE_BLOB;		} else if (this.length == MysqlDefs.LENGTH_MEDIUMBLOB) {			this.mysqlType = MysqlDefs.FIELD_TYPE_MEDIUM_BLOB;		} else if (this.length == MysqlDefs.LENGTH_LONGBLOB) {			this.mysqlType = MysqlDefs.FIELD_TYPE_LONG_BLOB;		}	}	private boolean isNativeNumericType() {		return ((this.mysqlType >= MysqlDefs.FIELD_TYPE_TINY &&					this.mysqlType <= MysqlDefs.FIELD_TYPE_DOUBLE) ||					this.mysqlType == MysqlDefs.FIELD_TYPE_LONGLONG ||					this.mysqlType == MysqlDefs.FIELD_TYPE_YEAR);	}	private boolean isNativeDateTimeType() {		return (this.mysqlType == MysqlDefs.FIELD_TYPE_DATE ||				this.mysqlType == MysqlDefs.FIELD_TYPE_NEWDATE ||				this.mysqlType == MysqlDefs.FIELD_TYPE_DATETIME ||				this.mysqlType == MysqlDefs.FIELD_TYPE_TIME ||				this.mysqlType == MysqlDefs.FIELD_TYPE_TIMESTAMP);	}	/**	 * DOCUMENT ME!	 *	 * @param conn	 *            DOCUMENT ME!	 */	public void setConnection(ConnectionImpl conn) {		this.connection = conn;		if (this.charsetName == null || this.charsetIndex == 0) {			this.charsetName = this.connection.getEncoding();		}	}	void setMysqlType(int type) {		this.mysqlType = type;		this.sqlType = MysqlDefs.mysqlToJavaType(this.mysqlType);	}	protected void setUseOldNameMetadata(boolean useOldNameMetadata) {		this.useOldNameMetadata = useOldNameMetadata;	}	public String toString() {		try {			StringBuffer asString = new StringBuffer();			asString.append(super.toString());			asString.append("[");			asString.append("catalog=");			asString.append(this.getDatabaseName());			asString.append(",tableName=");			asString.append(this.getTableName());			asString.append(",originalTableName=");			asString.append(this.getOriginalTableName());			asString.append(",columnName=");			asString.append(this.getName());			asString.append(",originalColumnName=");			asString.append(this.getOriginalName());			asString.append(",mysqlType=");			asString.append(getMysqlType());			asString.append("(");			asString.append(MysqlDefs.typeToName(getMysqlType()));			asString.append(")");			asString.append(",flags=");						if (isAutoIncrement()) {				asString.append(" AUTO_INCREMENT");			}						if (isPrimaryKey()) {				asString.append(" PRIMARY_KEY");			}						if (isUniqueKey()) {				asString.append(" UNIQUE_KEY");			}						if (isBinary()) {				asString.append(" BINARY");			}						if (isBlob()) {				asString.append(" BLOB");			}						if (isMultipleKey()) {				asString.append(" MULTI_KEY");			}						if (isUnsigned()) {				asString.append(" UNSIGNED");			}						if (isZeroFill()) {				asString.append(" ZEROFILL");			}			asString.append(", charsetIndex=");			asString.append(this.charsetIndex);			asString.append(", charsetName=");			asString.append(this.charsetName);									//if (this.buffer != null) {			//	asString.append("\n\nData as received from server:\n\n");			//	asString.append(StringUtils.dumpAsHex(this.buffer,			//			this.buffer.length));			//}			asString.append("]");						return asString.toString();		} catch (Throwable t) {			return super.toString();		}	}	protected boolean isSingleBit() {		return this.isSingleBit;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -