当先锋百科网

首页 1 2 3 4 5 6 7

jdbc增删改查操作数据库
jdbcUtil工具包

package JDBC;

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


/**
 * JDBC工具类  (通常将方法设置为静态方法,不然还要通过new 一个对象来调用方法,不优雅,类加载时即加载)
 * 1.获取连接方法
 * 2.关闭释放jdbc使用的资源
 * */
public class JDBCUtil {
    private static Connection connection;
    private static String url; //= "jdbc:mysql://"+ ip + ":" + port +"/"+  mysqldatabase
    //远程访问mysql数据库权限用户的用户名和密码
    private  static String username = "root";//用户名通常为root
    private  static String password = "";//密码通常空
    //服务器ip,数据库访问端口port,数据库名称mysqldatabase
    private static String ip = "192.168.43.160";
    private static int port = 3306;//数据库访问端口号通常为3306
    //数据库名称
    private static String mysqldatabase = "test";
    private static PreparedStatement ps;
    private static Statement stmt;

    /**1.
     * 获取jdbc连接的方法getconnection (通过JDBCUtil.getConnection()来获取一个JDBC的连接)
     * ip 为数据库所在的远程服务器的ip地址
     * port 为数据库访问的端口
     * mysqldatabase  要连接的数据库名称
     * */
   // public static Connection getConnection(String ip,String mysqldatabase){
    public static Connection getConnection(){
        try {
                //1加载驱动
                Class.forName("com.mysql.jdbc.Driver");
                //String url = "jdbc:mysql://ip:port/数据库名称";(port通常是3306,ip需输入,数据库名称需输入,用户名密码为PHPMyAdmin的进入密码)
               //2.获取连接,url为jdbc连接:连接的mysql,服务器ip+数据库的名称   再由驱动管理者获取连接(url,username,password)
                url = "jdbc:mysql://"+ ip + ":" + port +"/"+  mysqldatabase;
                return connection = DriverManager.getConnection(url, username, password);
            } catch (Exception e) {//捕捉所有的异常
                e.printStackTrace();
            }
            return null;
    }


    /**2.
     * 关闭,释放资源的方法close (若不存在使用下列资源,传递参数为null即可,通过JDBCUtil.close()关闭资源)
     * rs 为结果集,通过JDBC查到的结果集,使用后需关闭释放资源
     * ps stmt 为开启的sql语句
     * connection 为jdbc的连接
     * */
    public static void close(ResultSet rs, PreparedStatement ps,Statement stmt,Connection connection){//栈式关闭(最先连接,最后关闭连接)
        try{//关闭结果集
            if(rs!=null) rs.close();
        }catch (SQLException e){
            e.printStackTrace();
        }

        try{//关闭sql语句
            if(ps!=null) ps.close();
            if(stmt!=null) stmt.close();
        }catch (SQLException e){
            e.printStackTrace();
        }

        try{//关闭连接
            if(connection!=null) connection.close();
        }catch (SQLException e){
            e.printStackTrace();
        }

    }


}