码迷,mamicode.com
首页 > 数据库 > 详细

JdbcUtils

时间:2018-07-01 16:56:25      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:++   jdb   rollback   turn   localhost   i++   .exe   div   ring   

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

public class JdbcUtils
{
    private final static String dbdriver = "com.mysql.jdbc.Driver";
    private final static String dburl = "jdbc:mysql://localhost:3306/study1?seUnicode=true&characterEncoding=UTF8";
    private final static String dbusername = "root";
    private final static String dbpassword = "root";
    static
    {
        try
        {
            Class.forName(dbdriver);
        } catch (ClassNotFoundException e)
        {
            throw new ExceptionInInitializerError(e);
        }
    }

    public static Connection createConnection() throws SQLException
    {
        return DriverManager.getConnection(dburl, dbusername, dbpassword);
    }

    public static void close(Connection conn)
    {
        if (conn != null)
        {
            try
            {
                conn.close();
            } catch (SQLException e)
            {

            }
        }
    }

    public static void close(Statement stmt)
    {
        if (stmt != null)
        {
            try
            {
                stmt.close();
            } catch (SQLException e)
            {

            }
        }
    }

    public static void close(ResultSet rs)
    {
        if (rs != null)
        {
            try
            {
                rs.close();
            } catch (SQLException e)
            {

            }
        }
    }

    public static int executeUpdate(String sql, Object... parameters)
            throws SQLException
    {
        Connection conn = null;
        try
        {
            conn = createConnection();
            return executeUpdate(conn, sql, parameters);
        } finally
        {
            close(conn);
        }
    }

    public static int executeUpdate(Connection conn, String sql,
            Object... parameters) throws SQLException
    {
        PreparedStatement ps = null;
        try
        {
            ps = conn.prepareStatement(sql);
            for (int i = 0; i < parameters.length; i++)
            {
                ps.setObject(i + 1, parameters[i]);
            }
            return ps.executeUpdate();
        } finally
        {
            close(ps);
        }
    }

    public static ResultSet executeQuery(String sql, Object... parameters)
            throws SQLException
    {
        Connection conn = null;
        try
        {
            conn = createConnection();
            return executeQuery(conn, sql, parameters);
        } catch (SQLException ex)
        {
            close(conn);
            throw ex;
        }
    }

    public static ResultSet executeQuery(Connection conn, String sql,
            Object... parameters) throws SQLException
    {
        PreparedStatement ps = null;
        try
        {
            ResultSet rs = null;
            ps = conn.prepareStatement(sql);
            for (int i = 0; i < parameters.length; i++)
            {
                ps.setObject(i + 1, parameters[i]);
            }
            rs = ps.executeQuery();
            return rs;
        } catch (SQLException ex)
        {
            close(ps);
            throw ex;
        }
    }

    public static void closeAll(ResultSet rs)
    {
        if (rs == null)
        {
            return;
        }
        try
        {
            close(rs.getStatement().getConnection());
            close(rs.getStatement());
            close(rs);
        } catch (SQLException e)
        {

        }
    }
    
    public static void rollback(Connection conn)
    {
        try
        {
            conn.rollback();
        } catch (SQLException e)
        {
            //
        }
    }
}

 

JdbcUtils

标签:++   jdb   rollback   turn   localhost   i++   .exe   div   ring   

原文地址:https://www.cnblogs.com/renjing/p/JdbcUtils.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!