JDBC连接Oracle数据库测试

package date20180727.dao;

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

public class BaseDao {
    // 创建4个常量(数据库连接地址,数据库驱动类地址,数据库登录权限名,登录密码)
    private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
    private static final String URL = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
    private static final String UNAME = "scott";
    private static final String UPWD = "123";

    // 使用静态块加载数据库的驱动
    static {
        try {
            Class.forName(DRIVER);
            System.out.println("连接成功");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("连接失败");
        }
    }
    // 声明三个核心接口对象(Connection,PreparedStatment,ResultSet)
    private Connection conn = null;// 数据库连接的对象
    private PreparedStatement pstmt = null;// SQL命令预处理并执行操作的对象
    protected ResultSet res = null;// 查询后返回的结果集对象
    // 编写创建数据库连接对象的方法(DriverManager)

    public void getConn() {
        try {
            conn = DriverManager.getConnection(URL, UNAME, UPWD);
        
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    // 编写关闭数据库释放资源的方法
    protected void colseAll() {
        if (null != res) {
            try {
                res.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if (null != pstmt) {
            try {
                pstmt.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if (null != conn) {
            try {
                conn.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    // 编写数据库的查询方法
    protected ResultSet excuteSelect(String sql, Object[] params) {
        // 调用数据库连接对象的方法
        this.getConn();
        // 创建预处理对象
        try {
            pstmt = conn.prepareStatement(sql);
            // 通过for循环对参数进行预处理
            if (null != params) {
                for (int i = 0; i < params.length; i++) {
                    pstmt.setObject(i+1, params[i]);
                }
            }
            // 操作查询并返回结果集
            res = pstmt.executeQuery();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return res;
    }
    // 编写数据库的增删改的方法
    protected int excuteEdit(String sql,Object[] params){
        int count = 0;
        //调用数据库连接对象的方法
        this.getConn();
        try {
            //创建SQL命令预处理执行操作的对象
            pstmt = conn.prepareStatement(sql);
            //对参数进行预处理
            for (int i = 0; i < params.length; i++) {
                pstmt.setObject(i+1, params[i]);
            }
            //接收操作执行返回的行数
            count = pstmt.executeUpdate();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            this.colseAll();
        }
        return count;
    }
    
}

//测试代码

package date20180727.test;

import date20180727.dao.BaseDao;

public class Test {
    public static void main(String[] args) {
    BaseDao basedao=new BaseDao();
    basedao.getConn();
}
}

扫描二维码关注公众号,回复: 2420358 查看本文章

添加jar包  ojdbc5.jar  右键build path 然后运行

结果:连接成功

猜你喜欢

转载自blog.csdn.net/yuan2yue/article/details/81239217