JDBC工具类提取

JDBC工具类提取:

  常见的配置文件格式:

    1.properties

      格式 key=value

    2.xml

  若我们的配置文件为properties,且放在src目录下,可通过ResourceBundle工具快速获取里面的配置信息

    使用步骤:

      1.获取ResourceBundle对象

        static  ResourceBundle getBundle("文件名称不带后缀")

      2.通过ResourceBundle 对象获取配置信息

        String getString(String key):通过key值获取指定的value

package com.company;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import com.company.utils.JdbcUtils_;

import com.company.utils.JdbcUtils;
import com.mysql.jdbc.Driver;
import org.junit.Test;

public class TEST {
    /**
     *  查询,未提取工具类
     * @throws Exception
     */
    @Test
    public void f1() throws Exception{
        //注册驱动
        //Class.forName("com.mysql.jdbc.Driver");
        DriverManager.registerDriver(new Driver());

        //获取连接         ctrl+o 整理包
        Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/day07", "root", "123456");

        //编写sql
        String  sql="select * from category";

        //创建语句执行者
        PreparedStatement st=conn.prepareStatement(sql);

        //设置参数

        //执行sql
        ResultSet rs=st.executeQuery();

        //处理结果
        while(rs.next()){
            System.out.println(rs.getString("cid")+"::"+rs.getString("cname"));
        }

        //释放资源.
        rs.close();
        st.close();
        conn.close();
    }

    /**
     * 插入
     * 提取基础工具类
     */
    //
    @Test
    public void f2(){
        Connection conn=null;
        ResultSet rs=null;
        PreparedStatement st=null;

        try {
            //获取连接
            conn=JdbcUtils_.getCon();

            //编写sql
            String sql="insert into  category values(?,?)";

            //获取语句执行者
            st=conn.prepareStatement(sql);

            //设置参数
            st.setString(1, "c012");
            st.setString(2, "户外");

            //执行sql
            int i=st.executeUpdate();

            //处理结果
            if(i==1){
                System.out.println("success");
            }else{
                System.out.println("fail");
            }

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //释放资源
            JdbcUtils_.closeResource(conn, st, rs);
        }

    }

    /**
     * 更新
     *  提取工具类plus
     */
    @Test
    public void f3(){
        Connection conn=null;
        PreparedStatement st=null;
        ResultSet rs=null;

        try {
            conn=JdbcUtils.getCon();
            String sql="update category set cname = ? where cid = ?";
            st=conn.prepareStatement(sql);
            st.setString(1, "手机");
            st.setString(2, "c006");

            int i=st.executeUpdate();

            if(i==1){
                System.out.println("success");
            }else{
                System.out.println("fail");
            }

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //释放资源
            JdbcUtils.closeResource(conn, st, rs);
        }
    }

    /**
     * 删除
     *  提取工具类plus
     */
    @Test
    public void f4(){
        Connection conn=null;
        PreparedStatement st=null;
        ResultSet rs=null;

        try {
            conn=JdbcUtils.getCon();
            String sql="delete from category where cid = ?";
            st=conn.prepareStatement(sql);

            st.setString(1, "c006");

            int i=st.executeUpdate();
            if(i==1){
                System.out.println("success");
            }else{
                System.out.println("fail");
            }

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            JdbcUtils.closeResource(conn, st, rs);
        }
    }

}
package com.company.utils;

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 Connection getCon() throws ClassNotFoundException, SQLException {
        // 注册驱动   ctrl+shift+f格式化代码
        Class.forName("com.mysql.jdbc.Driver");

        // 获取连接 ctrl+o 整理包
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day07", "root", "123456");
        return conn;
    }

    /**
     * 释放资源
     * @param conn 连接
     * @param st 语句执行者
     * @param rs 结果集
     */
    public static void closeResource(Connection conn, Statement st, ResultSet rs) {
        closeResultSet(rs);
        closeStatement(st);
        closeConn(conn);
    }

    /**
     * 释放连接
     * @param conn 连接
     */
    public static void closeConn(Connection conn){
        if(conn!=null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn=null;
        }

    }

    /**
     * 释放语句执行者
     * @param st 语句执行者
     */
    public static void closeStatement(Statement st){
        if(st!=null){
            try {
                st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            st=null;
        }

    }

    /**
     * 释放结果集
     * @param rs 结果集
     */
    public static void closeResultSet(ResultSet rs){
        if(rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            rs=null;
        }

    }
}
提取工具类
package com.company.utils;

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

public class JdbcUtils {
    static final String DRIVERCLASS;
    static final String URL;
    static final String USER;
    static final String PASSWORD;

    static {
        // 获取ResourceBundle
        ResourceBundle bundle = ResourceBundle.getBundle("jdbc");

        // 获取指定的内容
        DRIVERCLASS = bundle.getString("driverClass");
        URL = bundle.getString("url");
        USER = bundle.getString("user");
        PASSWORD = bundle.getString("password");
    }

    static {
        // 注册驱动
        try {
            Class.forName(DRIVERCLASS);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }


    // 获取连接
    public static Connection getCon() throws SQLException {
        // 获取连接 ctrl+o 整理包
        return  DriverManager.getConnection(URL, USER, PASSWORD);
    }

    /**
     * 释放资源
     *
     * @param conn
     *            连接
     * @param st
     *            语句执行者
     * @param rs
     *            结果集
     */
    public static void closeResource(Connection conn, Statement st, ResultSet rs) {
        closeResultSet(rs);
        closeStatement(st);
        closeConn(conn);
    }

    /**
     * 释放连接
     *
     * @param conn
     *            连接
     */
    public static void closeConn(Connection conn) {
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            conn = null;
        }

    }

    /**
     * 释放语句执行者
     *
     * @param st
     *            语句执行者
     */
    public static void closeStatement(Statement st) {
        if (st != null) {
            try {
                st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            st = null;
        }

    }

    /**
     * 释放结果集
     *
     * @param rs
     *            结果集
     */
    public static void closeResultSet(ResultSet rs) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            rs = null;
        }

    }
}
提取工具类plus

 

posted @ 2020-07-25 22:46  Yisennnn丶  阅读(222)  评论(0编辑  收藏  举报