1、jdbc 接口:
package com.jdbcTest;
import java.sql.Connection;
/**
*@author WHD
*2014-11-1
*/
public interface Jdbc {
public Connection getCon();
public void closeCon(Connection con);
}
2、抽象方法实现接口
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();
}
}
}
3、继承抽象类实现 connection 的获取:
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实现时出现错误");
}
}
}
4、读取配置文件 java.util.Properties extends HashTalbe
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 {
// 如果配置文件和类不在同一目录下则使用 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");
}
5、测试类
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);
}
}
}