Java/Database SQL JDBC/Database Type vs Java Type
Содержание
Get Available Sql Types In A Database
<source lang="java">
import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Main {
public static void main(String[] args) throws Exception { Connection conn = getMySqlConnection(); System.out.println("Got Connection."); Statement st = conn.createStatement(); st.executeUpdate("drop table survey;"); st.executeUpdate("create table survey (id int,name varchar(30));"); st.executeUpdate("insert into survey (id,name ) values (1,"nameValue")"); ResultSet rs = null; DatabaseMetaData meta = conn.getMetaData(); rs = meta.getTypeInfo(); while (rs.next()) { // Get the database-specific type name String typeName = rs.getString("TYPE_NAME"); // Get the java.sql.Types type to which this // database-specific type is mapped short dataType = rs.getShort("DATA_TYPE"); // Get the name of the java.sql.Types value. System.out.println("type name="+typeName); System.out.println("dataType="+dataType); System.out.println("jdbcType="+dataType); } st.close(); conn.close(); } private static Connection getHSQLConnection() throws Exception { Class.forName("org.hsqldb.jdbcDriver"); System.out.println("Driver Loaded."); String url = "jdbc:hsqldb:data/tutorial"; return DriverManager.getConnection(url, "sa", ""); } public static Connection getMySqlConnection() throws Exception { String driver = "org.gjt.mm.mysql.Driver"; String url = "jdbc:mysql://localhost/demo2s"; String username = "oost"; String password = "oost"; Class.forName(driver); Connection conn = DriverManager.getConnection(url, username, password); return conn; } public static Connection getOracleConnection() throws Exception { String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:caspian"; String username = "mp"; String password = "mp2"; Class.forName(driver); // load Oracle driver Connection conn = DriverManager.getConnection(url, username, password); return conn; }
}
</source>
Get Available Table Types
<source lang="java">
import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Main {
public static void main(String[] args) throws Exception { Connection conn = getHSQLConnection(); System.out.println("Got Connection."); Statement st = conn.createStatement(); st.executeUpdate("create table survey (id int,name varchar);"); st.executeUpdate("insert into survey (id,name ) values (1,"nameValue")"); ResultSet rs = null; DatabaseMetaData meta = conn.getMetaData(); rs = meta.getTableTypes(); while (rs.next()) { String tableType = rs.getString(1); System.out.println("tableType=" + tableType); } st.close(); conn.close(); } private static Connection getHSQLConnection() throws Exception { Class.forName("org.hsqldb.jdbcDriver"); System.out.println("Driver Loaded."); String url = "jdbc:hsqldb:data/tutorial"; return DriverManager.getConnection(url, "sa", ""); } public static Connection getMySqlConnection() throws Exception { String driver = "org.gjt.mm.mysql.Driver"; String url = "jdbc:mysql://localhost/octopus"; String username = "root"; String password = "root"; Class.forName(driver); // load MySQL driver Connection conn = DriverManager.getConnection(url, username, password); return conn; } public static Connection getOracleConnection() throws Exception { String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:caspian"; String username = "mp"; String password = "mp2"; Class.forName(driver); // load Oracle driver Connection conn = DriverManager.getConnection(url, username, password); return conn; }
}
</source>
Sql DateTime
<source lang="java">
public class SqlDateTime {
public static void main(String[] args) { java.util.Date javaDate = new java.util.Date(); long javaTime = javaDate.getTime(); System.out.println("The Java Date is: " + javaDate.toString()); java.sql.Date sqlDate = new java.sql.Date(javaTime); System.out.println("The SQL DATE is: " + sqlDate.toString()); java.sql.Time sqlTime = new java.sql.Time(javaTime); System.out.println("The SQL TIME is: " + sqlTime.toString()); java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(javaTime); System.out.println("The SQL TIMESTAMP is: " + sqlTimestamp.toString()); }
}
</source>
Standard SQL Data Types with Their Java Equivalents
<source lang="java">
SQL type Java Type Description BINARY byte[] Byte array. Used for binary large objects. BIT boolean Boolean 0 / 1 value CHAR String Fixed-length character string. DATETIME java.sql.Date Date and Time as: yyyy-mm-dd hh:mm:ss DECIMAL java.math.BigDecimal Arbitrary-precision signed decimal numbers. FLOAT double Floating-point number, mapped to double INTEGER int 32-bit integer values LONGVARBINARY byte[] Variable-length character string. LONGVARCHAR String Variable-length character string. NCHAR String National Character Unicode fixed-length character string NUMERIC java.math.BigDecimal Arbitrary-precision signed decimal numbers. NTEXT String Large string variables. NVARCHAR String National Character Unicode variable-length character string REAL float Floating-point number, mapped to float SMALLINT short 16-bit integer values TIME java.sql.Time Thin wrapper around java.util.Date TIMESTAMP java.sql.Timestamp Composite of a java.util.Date and a separate nanosecond value VARBINARY byte[] Byte array VARCHAR String Variable-length character string.
</source>