文章目录
1、jdbc是如何加载数据库驱动的?jdbc是如何初始化数据库驱动的?都有哪些方式?
JDBC加载数据库驱动:
一个java引用程序要想和数据库连接起来,则需要调用JDBC接口,那么第一步要做的就是把驱动程序加载进系统内存,供系统使用。当我们在使用class.forName()加载Oracle的驱动oracle.jdbc.driver.OracleDriver时,会执行OracleDriver中的静态代码段,创建一个OracleDriver实例,然后调用DriverManager.registerDriver()注册,之后可以利用DriverManager获取连接,从而进行java和数据库之间的对话。
JDBC初始化数据库驱动:
public static Connection conn = null;
public static PreparedStatement pstmt = null;
public static ResultSet rs = null;
private static String className = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/person_management";
private static String dbName = "root";
private static String dbPassword = "199703";
public static Connection getConn(){
try {
//加载驱动程序
Class.forName(className);
//获取数据库连接
conn = DriverManager.getConnection(url, dbName, dbPassword);
}catch (Exception e){
e.printStackTrace();
}
return conn;
}
加载JDBC驱动程序的方法:
Class.forName( “com.mysql.jdbc.Driver” );
DriverManager.registerDriver( new com.mysql.jdbc.Driver() );
System.setProperty( “jdbc.driver” , “com.mysql.jdbc.Driver” )
2.try-catch在1.7下的 with方式的资源回收?【提示:try(回收资源声明初始化语句集){}catch(Exception e){}】
这是jdk1.7加入的try-with-resources写法,可以用来代替之前的try-catch-finally语句块,实现对某些资源开销大的resource省去写finally语句块释放资源的代码,例如关闭流、断开数据库连接等等,都不在需要写finally语句块释放资源,try-with-resources会自动释放try后面()内占用的资源。
try-with-catch语句是一个声明一个或多个资源的try语句。一个资源作为一个对象,必须在程序结束之后关闭,try-with-resources语句确保在语句的最后每个资源都被关闭,任何实现了java.lang.AutoCloseable和java.io.Closeable的对象都可以使用try-with-resource来实现异常处理和资源关闭。
jdk1.7之前我们必须在finally块中手动关闭资源,否则会导致资源的泄露
jdk1.7之后就可以使用try-with-resource,不需要我们在finally块中手动关闭资源