1、JDBCTools

2018-06-25  本文已影响0人  在努力中
package com.lsy.jdbc;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class JDBCTools {
    /**
     * 1、获取数据库连接
     */
    public static  Connection getConnection() throws IOException, ClassNotFoundException, SQLException {
        //0、读取配置文件
        /*
         * 1、属性文件对应Java 中的 Properties类
         *      文件放在src下,实际上是在bin(类所在目录)中
         * 2、可以使用 类加载器 加载 bin 目录 (路径下的文件)
         */
        Properties properties = new Properties();
        InputStream inStream  = 
                JDBCTools.class.getClassLoader().getResourceAsStream("jdbc.properties");
        properties.load(inStream);
        
        //1、准备连接数据库的四个字符串:user password,jdbcUrl,driverClass
        // 从配置文件中得到
        String user = properties.getProperty("user");
        String password = properties.getProperty("password");
        String url = properties.getProperty("jdbcUrl");
        String driverClass = properties.getProperty("driver");
        
        
        //2、加载驱动:Class.forName(driverClass)
        Class.forName(driverClass);
        
        //3、调用:DriverManager.getConnection(jdbcUrl,user,password)
        //3.1、获取数据库的连接
        Connection connection =
                DriverManager.getConnection(url,user,password);
        return connection;
    }
    /**
     * 2、释放数据库资源
     */
    public static void releaseDB(ResultSet resultSet,Statement statement,Connection connection){
        
        if(resultSet != null){
            try {
                resultSet.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if(statement != null){
            try {
                statement.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if(connection != null){
            try {
                connection.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    /**
     * 3、更新方法(update add delete)没有 select
     * 执行 SQL 的方法
     */
    public static void update(String sql){
        System.out.println("update");
        //1.获取数据连接
        Connection connection = null;
        Statement statement = null;
        
        try {
            //2.调用Connection 对象的 【createStatement()】 方获取 Statement 对象
            connection = getConnection();
            statement = connection.createStatement();
                
            //3.准备 SQL 语句
//          sql = "update customer set name = 'cadddda' where id = 3";
            
            //4.发送 SQL 语句:调用 Statement 对象的 【executeUpdate(sql)】 方法
            statement.executeUpdate(sql);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //5.关闭数据库资源:由里向外关闭
            releaseDB(null, statement, connection);
        }
        System.out.println("update");
    }
}

上一篇下一篇

猜你喜欢

热点阅读