jdbc连接数据库(oracle、mysql)

很简单,直接贴代码吧!代码注释自认为足够理解!

第一步创建数据库连接类,数据库连接地址、数据库驱动、用户名、密码建议创建为公共变量,方便修改,一目了然

package db;

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

/**
 * jdbc连接数据库以及关闭数据库
 * 加载驱动  创建链接即可
 * oracle  所需jar包
 * ojdbc14.jar  commons-collections.jar
 * 
 * mysql  所需jar包
 * mysql-connector-java-5.1.7-bin.jar
 * @author 乔成强
 * @version 创建时间:2018年5月9日  下午2:26:00
 */
public class DBConnection {
    
    /**Oracle数据库连接地址*/
    private final static String DB_URL = "jdbc:oracle:thin:@192.168.2.158:1521:orcl";
    /**Oracle数据库连接驱动*/
    private final static String DB_DRIVER = "oracle.jdbc.driver.OracleDriver";
    /**Oracle数据库用户名*/
    private final static String DB_USER = "protransfer";
    /**Oracle数据库用户密码*/
    private final static String DB_PASS = "protransfer";
    
    /**
     * 以下为mysql的连接方式 
     */
    //private final static String DB_URL = "jdbc:mysql://127.0.0.1:3306/qcq";
    //private final static String DB_DRIVER = "com.mysql.jdbc.Driver";
    //private final static String DB_USER = "root";
    //private final static String DB_PASS = "root";
    
    /**
     * 创建连接
     */
    public Connection getConnetion(){
        Connection con = null;
        try {
            Class.forName(DB_DRIVER);  //加载驱动
            con = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);  //创建连接
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return con;
    }
    
    /**
     * 关闭数据库连接
     */
    public void closeConn(Connection conn){
        if(conn != null){  //首先判断是非为空
            try {
                if(!conn.isClosed()){  //如果数据库连接没有关闭,在进行关闭
                    conn.close();  //通过close()关闭数据库
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

}

第二步建立一个数据库连接工厂类(可有可无),不在需要每次都实例化了

package db;

import java.sql.Connection;

/**
 * 创建一个数据库连接的工厂类,就不用每次使用数据库连接时再进行实例化
 * @author 乔成强
 * @version 创建时间:2018年5月9日  下午2:27:16
 */
public class DBFactory {
    
    private static DBConnection dbConn = new DBConnection();  //实例化数据库连接对象
    
    /**
     * 获取数据库对象
     */
    public static DBConnection getDBConnectionInstanse(){
        if(dbConn == null){
            dbConn = new DBConnection();
            return dbConn;
        }else{
            return dbConn;
        }
    }
    
    /**
     * 关闭数据库连接
     */
    public static void closeConn(Connection conn){
        if(dbConn == null){
            dbConn = new DBConnection();
        }
        dbConn.closeConn(conn);  //调用关闭连接的方法
    }

}

第三步就是一个测试类了

package db;

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

/**
 * 测试数据库是否能够连接成功
 * @author 乔成强
 * @version 创建时间:2018年5月9日  下午2:41:08
 */
public class testDB {

    public static void main(String[] args) {
        Connection con = DBFactory.getDBConnectionInstanse().getConnetion();
        Statement sta;
        try {
            sta = con.createStatement();
            String sql = "select * from t_sys_user where id = 1";
            ResultSet rs = sta.executeQuery(sql);
            while(rs.next()){
                System.out.println(rs.getString(3));  //从1开始的
                System.out.println(rs.getString("id"));  //也可以通过名字获取值(就是数据库中的各个字段)
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
         
        try {
            con.close();  //关闭数据库
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

好了,这样基本就可以了!!!

原文地址:https://www.cnblogs.com/qcq0703/p/9014893.html