Java中如何获得数据库支持的数据类型?
package org.nhooo.example.jdbc;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
public class DatabaseSupportedType {
private static final String URL = "jdbc:mysql://localhost/nhooo";
private static final String USERNAME = "root";
private static final String PASSWORD = "";
public static void main(String[] args) {
try (Connection connection =
DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
DatabaseMetaData metadata = connection.getMetaData();
ResultSet resultSet = metadata.getTypeInfo();
while (resultSet.next()) {
String typeName = resultSet.getString("TYPE_NAME");
System.out.println("Type Name = " + typeName);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}以下是支持MySQL数据库的数据类型:
Type Name = BIT Type Name = BOOL Type Name = TINYINT Type Name = TINYINT UNSIGNED Type Name = BIGINT Type Name = BIGINT UNSIGNED Type Name = LONG VARBINARY Type Name = MEDIUMBLOB Type Name = LONGBLOB Type Name = BLOB Type Name = TINYBLOB Type Name = VARBINARY Type Name = BINARY Type Name = LONG VARCHAR Type Name = MEDIUMTEXT Type Name = LONGTEXT Type Name = TEXT Type Name = TINYTEXT Type Name = CHAR Type Name = NUMERIC Type Name = DECIMAL Type Name = INTEGER Type Name = INTEGER UNSIGNED Type Name = INT Type Name = INT UNSIGNED Type Name = MEDIUMINT Type Name = MEDIUMINT UNSIGNED Type Name = SMALLINT Type Name = SMALLINT UNSIGNED Type Name = FLOAT Type Name = DOUBLE Type Name = DOUBLE PRECISION Type Name = REAL Type Name = VARCHAR Type Name = ENUM Type Name = SET Type Name = DATE Type Name = TIME Type Name = DATETIME Type Name = TIMESTAMP
Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>