芯が強い人になるESTJ-A

# JDBC工具类抽取

IT開発 Tags: 无标签 阅读: 289
package com.imooc.jdbc.utils;
//JDBC工具类,抽取通用代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCUtils {
    //注册驱动方法
    public static void loadDriver() throws ClassNotFoundException {
        Class.forName("com.mysql.jdbc.Driver");
    }
    //获得连接方法
    public static Connection getConnection() throws Exception {
        loadDriver();
        Connection conn= DriverManager.getConnection("jdbc:mysql:///jdbctest", "root", "passw@rd");
        return conn;
    }
    //资源释放close,2个方法,增删改一个方法,查一个方法
    public static void release(Statement stmt,Connection conn) {
        if(stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            stmt = null;
        }
        if(conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }
    }
    //方法重载
    public static void release(ResultSet res,Statement stmt, Connection conn) {
        if(res != null) {
            try {
                res.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            res = null;
        }
        if(stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            stmt = null;
        }
        if(conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }
    }
    
}

//常用值,提取,修改版2

    package com.imooc.jdbc.utils;
//JDBC工具类,抽取通用代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class JDBCUtils {
    //把值设置成静态常量,抽取;
    private static final String DRIVERCLASS_STRING;
    private static final String URL_STRING;
    private static final String USERNAME_STRING;
    private static final String PASSWORD_STRING;
    
    static {
        DRIVERCLASS_STRING="com.mysql.jdbc.Driver";
        URL_STRING = "jdbc:mysql:///jdbctest";
        USERNAME_STRING = "root";
        PASSWORD_STRING = "passw@rd";
    }
    
    //注册驱动方法
    public static void loadDriver() throws ClassNotFoundException {
        Class.forName(DRIVERCLASS_STRIN);
    }
    //获得连接方法
    public static Connection getConnection() throws Exception {
        loadDriver();
        Connection conn= DriverManager.getConnection(URL_STRING, USERNAME_STRING, PASSWORD_STRING);
        return conn;
    }
    //资源释放close,2个方法,增删改一个方法,查一个方法
    public static void release(Statement stmt,Connection conn) {
        if(stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            stmt = null;
        }
        if(conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }
    }
    //方法重载
    public static void release(ResultSet res,Statement stmt, Connection conn) {
        if(res != null) {
            try {
                res.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            res = null;
        }
        if(stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            stmt = null;
        }
        if(conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }
    }
    
}

//最后项目执行代码

    package com.imooc.jdbc.demo1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

import org.junit.Test;

public class jdbcdemo3 {

    @Test
    public void demo1() {
        Connection conn= null;
        Statement stmt=null;
        try {
            //注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //获得连接
            conn= DriverManager.getConnection("jdbc:mysql:///jdbctest", "root", "passw@rd");
            //创建执行sql的对象stmt
            stmt=conn.createStatement();
            String sqlString="INSERT INTO VALUES(null,'bdd','123','飞黄腾达')";
            int i = stmt.executeUpdate(sqlString);
            if(i>0) {
                System.out.println("保存成功");
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            //释放资源close
            if(stmt != null) {
                try{stmt.close();}
            catch(SQLException e) {
                e.printStackTrace();
            }
            stmt = null;
        }
    }
        if(conn != null) {
            try {
                conn.close();
            }catch(SQLException e) {
            e.printStackTrace();
        }
        conn = null;
    }
        
    }
    
}