一、jdbc 接口:java
package com.jdbcTest;
import java.sql.Connection;
/**
*@author WHD
*2014-11-1
*/
public interface Jdbc {
public Connection getCon();
public void closeCon(Connection con);
}
二、抽象方法實現接口
sql
package com.jdbcTest;
import java.sql.Connection;
/**
*@author WHD
*2014-11-2
*/
public abstract class JdbcImp implements Jdbc{
public abstract Connection getCon();
public void closeCon(Connection con){
try{
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
三、繼承抽象類實現 connection 的獲取:ide
package com.jdbcTest;
import java.sql.Connection;
import java.sql.DriverManager;
/**
*@author WHD
*2014-11-1
*/
public class getConImpJdbc extends JdbcImp{
@Override
public Connection getCon() {
Connection con=null;
try {
Class.forName(Configer.driverClass);
}catch(Exception e){
e.printStackTrace();
System.out.println("getcon出現異常");
}
try {
con=DriverManager.getConnection(Configer.url, Configer.user, Configer.password);
return con;
}catch(Exception e){
e.printStackTrace();
}
return null;
}
@Override
public void closeCon(Connection con) {
// 調用父類的close方法,可是咱們發現這裏的父類就是一個接口可是程序會自動去調用是想了這個接口的類
try{
super.closeCon(con);
}catch(Exception e){
e.printStackTrace();
System.out.println("在jdbc實現時出現錯誤");
}
}
}
測試
四、讀取配置文件 java.util.Properties extends HashTalbeurl
package com.jdbcTest;
import java.util.Properties;
import java.io.*;
/**
*@author WHD
*2014-11-1
*/
// 獲取配置文件
public class Configer {
public static Properties pro= new Properties();
static {
try {.net
// 若是配置文件和類不在同一目錄下則使用 new InputStream (new File (File.separator)) 來獲取具體的配置文件
pro.load(Configer.class.getResourceAsStream("jdbc.properties"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static String driverClass=pro.getProperty("driverClass");
public static String user=pro.getProperty("user");
public static String password=pro.getProperty("password");
public static String url=pro.getProperty("url");
}
繼承
五、測試類接口
package com.jdbcTest;
import java.sql.Connection;
import java.sql.Statement;
/**
*@author WHD
*2014-11-1
*/
public class Test {
public static void main(String[]args){
Connection con=null;
getConImpJdbc getCon=null;
try{
//con=getConImpJdbc.class.newInstance().getCon();
getCon=new getConImpJdbc();
con=getCon.getCon();
Statement sta=con.createStatement();
String sql= "insert into user values(5,'ww3',11,11)";
sta.executeUpdate(sql);
System.out.println(con);
}catch(Exception e){
e.printStackTrace();
System.out.println("測試類出現異常");
}finally{
getCon.closeCon(con);
}
}
}
get