现在又很多框架,比如hibernate,为我们封装好了jdbc,不过有时候,我们还是希望自己使用jdbc连接数据库并访问。

    本文以 Oracle 12c 为例,演示基本的jdbc使用。

1、准备工作

    Oracle数据库

    您需要Oracle数据库,如果没有可以参考这篇文章安装:Oracle 12c Windows安装、介绍及简单使用(图文)

    基本的java工程

    相信大家都没有问题。

    jdbc驱动

    在Oracle主目录中有,比如本人的为:C:\app\iamanxpp\product\12.1.0\dbhome_1\jdbc

    把ojdbc7.jar添加到工程中即可。

2、代码

    此处,直接将说明放到注释中,大家阅读起来也请清楚,sql代码仅用来演示介绍:

package com.anxpp.demo.oracle12jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Test {
    //主方法
    public static void main(String[] args) throws SQLException {
        OracleJdbcTest test = new OracleJdbcTest();
        try{
            test.query("drop table testjdbc");
        }catch(SQLException e){}
        test.query("create table testjdbc(id int,name nchar(20))");
        test.query("insert into testjdbc values(1,'anxpp')");
        test.query("insert into testjdbc values(2,'test')");
        test.query("SELECT * FROM testjdbc",true);
        test.close();
    }
}
class OracleJdbcTest{
    //数据库连接对象
    private static Connection conn = null;
    private static String driver = "oracle.jdbc.driver.OracleDriver";       //驱动
    private static String url = "jdbc:oracle:thin:@//127.0.0.1:1521/orcl";  //连接字符串
    private static String username = "system";      // 用户名
    private static String password = "Anxpp0618";   // 密码
    //获取连接对象
    private static synchronized Connection getConn(){
        if(conn==null){
            try {
                Class.forName(driver);
                conn = DriverManager.getConnection(url, username, password);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return conn;
    }
    //执行查询语句
    public void query(String sql,boolean isSelect) throws SQLException {
        PreparedStatement pstmt;
        try {
            pstmt = getConn().prepareStatement(sql);
            // 建立一个结果集,用来保存查询出来的结果
            ResultSet rs = pstmt.executeQuery();
            while (rs.next()) {
                String name = rs.getString("name");
                System.out.println(name);
            }
            rs.close();
            pstmt.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public void query(String sql) throws SQLException {
        PreparedStatement pstmt;
        pstmt = getConn().prepareStatement(sql);
        pstmt.execute();
        pstmt.close();
    }
    //关闭连接
    public void close(){
        try {
            getConn().close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

    结果:

anxpp               
test      

3、更多阅读

    SQL数据库语言总结及代码示例

    Oracle 12c Windows安装、介绍及简单使用(图文)

    Oracle 12c 在Spring、Hibernate中的配置和使用

    Oracle中的数据类型介绍

    后两篇在编辑中。