Java/Database SQL JDBC/Driver
Содержание
- 1 boolean java.sql.Driver.jdbcCompliant()
- 2 DriverPropertyInfo[] java.sql.Driver.getPropertyInfo(String url, Properties info)
- 3 Enable JDBC logging
- 4 Enumeration<Driver> java.sql.DriverManager.getDrivers()
- 5 Get Driver Name
- 6 Get Driver Property Info
- 7 Get Driver Version
- 8 int java.sql.Driver.getMajorVersion()
- 9 int java.sql.Driver.getMinorVersion()
- 10 JDBC Driver Information
- 11 Listing All Loaded JDBC Drivers and gets information about each one.
- 12 Loading a JDBC Driver: call Class.forName() within the code
boolean java.sql.Driver.jdbcCompliant()
<source lang="java">
import java.sql.Driver; import java.sql.DriverManager; import java.util.Collections; import java.util.List; public class Main {
public static void main(String[] argv) throws Exception { List drivers = Collections.list(DriverManager.getDrivers()); for (int i = 0; i < drivers.size(); i++) { Driver driver = (Driver) drivers.get(i);
String name = driver.getClass().getName(); System.out.println(name);
int majorVersion = driver.getMajorVersion(); System.out.println(majorVersion); int minorVersion = driver.getMinorVersion(); System.out.println(minorVersion); boolean isJdbcCompliant = driver.jdbcCompliant(); System.out.println(isJdbcCompliant); } }
}
</source>
DriverPropertyInfo[] java.sql.Driver.getPropertyInfo(String url, Properties info)
<source lang="java">
import java.sql.Driver; import java.sql.DriverManager; import java.sql.DriverPropertyInfo; public class Main {
public static void main(String[] argv) throws Exception { String driverName = "org.gjt.mm.mysql.Driver"; Class.forName(driverName); String url = "jdbc:mysql://a/b"; Driver driver = DriverManager.getDriver(url); DriverPropertyInfo[] info = driver.getPropertyInfo(url, null); for (int i = 0; i < info.length; i++) { String name = info[i].name; boolean isRequired = info[i].required; String value = info[i].value; String desc = info[i].description; String[] choices = info[i].choices; } }
}
</source>
Enable JDBC logging
<source lang="java">
import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class Main {
public static void main(String args[]) throws Exception { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String URL = "jdbc:odbc:dbName"; Connection dbConn = DriverManager.getConnection(URL, "user", "pass"); PrintWriter w = new PrintWriter(new OutputStreamWriter(System.out)); DriverManager.setLogWriter(w); dbConn.close(); PreparedStatement prepstmt; prepstmt = dbConn.prepareStatement("SELECT id FROM employee"); prepstmt.execute(); prepstmt.close(); dbConn.close(); }
}
</source>
Enumeration<Driver> java.sql.DriverManager.getDrivers()
<source lang="java">
import java.sql.Driver; import java.sql.DriverManager; import java.util.Collections; import java.util.List; public class Main {
public static void main(String[] argv) throws Exception { List drivers = Collections.list(DriverManager.getDrivers()); for (int i = 0; i < drivers.size(); i++) { Driver driver = (Driver) drivers.get(i);
String name = driver.getClass().getName(); System.out.println(name);
int majorVersion = driver.getMajorVersion(); System.out.println(majorVersion); int minorVersion = driver.getMinorVersion(); System.out.println(minorVersion); boolean isJdbcCompliant = driver.jdbcCompliant(); System.out.println(isJdbcCompliant); } }
}
</source>
Get Driver Name
<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(); System.out.println(meta.getDriverName()); 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 Driver Property Info
<source lang="java">
import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.DriverPropertyInfo; import java.util.Properties; public class Main {
public static void main(String[] args) throws Exception { Class.forName("org.gjt.mm.mysql.Driver"); Properties info = new Properties(); Driver driver = DriverManager.getDriver("jdbc:mysql://localhost/demo2s"); System.out.println("driver=" + driver); DriverPropertyInfo[] attributes = driver.getPropertyInfo("jdbc:mysql://localhost/demo2s", info); System.out.println("attributes=" + attributes); // zero length means a connection attempt can be made System.out.println("Resolving properties for: " + driver.getClass().getName()); for (int i = 0; i < attributes.length; i++) { // get the property metadata String name = attributes[i].name; String[] choices = attributes[i].choices; boolean required = attributes[i].required; String description = attributes[i].description; // printout property metadata System.out.println(name + " (Required: " + required + ")"); if (choices == null) { System.out.println(" No choices."); } else { System.out.print(" Choices are: "); for (int j = 0; j < choices.length; j++) { System.out.print(" " + choices[j]); } } System.out.println(" Description: " + description); } } 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 Driver Version
<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(); System.out.println(meta.getDriverVersion()); 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>
int java.sql.Driver.getMajorVersion()
<source lang="java">
import java.sql.Driver; import java.sql.DriverManager; import java.util.Collections; import java.util.List; public class Main {
public static void main(String[] argv) throws Exception { List drivers = Collections.list(DriverManager.getDrivers()); for (int i = 0; i < drivers.size(); i++) { Driver driver = (Driver) drivers.get(i);
String name = driver.getClass().getName(); System.out.println(name);
int majorVersion = driver.getMajorVersion(); System.out.println(majorVersion); int minorVersion = driver.getMinorVersion(); System.out.println(minorVersion); boolean isJdbcCompliant = driver.jdbcCompliant(); System.out.println(isJdbcCompliant); } }
}
</source>
int java.sql.Driver.getMinorVersion()
<source lang="java">
import java.sql.Driver; import java.sql.DriverManager; import java.util.Collections; import java.util.List; public class Main {
public static void main(String[] argv) throws Exception { List drivers = Collections.list(DriverManager.getDrivers()); for (int i = 0; i < drivers.size(); i++) { Driver driver = (Driver) drivers.get(i);
String name = driver.getClass().getName(); System.out.println(name);
int majorVersion = driver.getMajorVersion(); System.out.println(majorVersion); int minorVersion = driver.getMinorVersion(); System.out.println(minorVersion); boolean isJdbcCompliant = driver.jdbcCompliant(); System.out.println(isJdbcCompliant); } }
}
</source>
JDBC Driver Information
<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")"); DatabaseMetaData meta = conn.getMetaData(); // Oracle (and some other vendors) do not support // some the following methods; therefore, we need // to use try-catch block. try { int jdbcMajorVersion = meta.getJDBCMajorVersion(); System.out.println("jdbcMajorVersion:" + jdbcMajorVersion); } catch (Exception e) { System.out.println("jdbcMajorVersion unsupported feature"); } try { int jdbcMinorVersion = meta.getJDBCMinorVersion(); System.out.println("jdbcMinorVersion:" + jdbcMinorVersion); } catch (Exception e) { System.out.println("jdbcMinorVersion unsupported feature"); } String driverName = meta.getDriverName(); String driverVersion = meta.getDriverVersion(); System.out.println("driverName=" + driverName); System.out.println("driverVersion=" + driverVersion); 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>
Listing All Loaded JDBC Drivers and gets information about each one.
<source lang="java">
import java.sql.Driver; import java.sql.DriverManager; import java.util.Collections; import java.util.List; public class Main {
public static void main(String[] argv) throws Exception { List drivers = Collections.list(DriverManager.getDrivers()); for (int i = 0; i < drivers.size(); i++) { Driver driver = (Driver) drivers.get(i); String name = driver.getClass().getName(); System.out.println(name); int majorVersion = driver.getMajorVersion(); System.out.println(majorVersion); int minorVersion = driver.getMinorVersion(); System.out.println(minorVersion); boolean isJdbcCompliant = driver.jdbcCompliant(); System.out.println(isJdbcCompliant); } }
}
</source>
Loading a JDBC Driver: call Class.forName() within the code
<source lang="java">
public class Main {
public static void main(String[] argv) throws Exception { String driverName = "org.gjt.mm.mysql.Driver"; Class.forName(driverName); }
}
</source>