如何利用JDBC连接并操作Oracle数据库

如题所述

    S1、下载ojdbc14.jar驱动文件,并将该文件放到你的项目中去;   

    S2、在MyEclipse中的项目中添加Oracle驱动程序:在项目名上右键-> Build Path ->Add External Archiver然后选择你刚才放在项目中的文件, 点确定即可。  

    S3、打开Oracle的各项服务,并在Oracle中建一张表。  

    S4、编写MyEclipse与Oracle的连接程序:  

    [cpp] view plaincopyprint?<SPAN style="FONT-SIZE: 16px">import java.sql.Connection;    

    import java.sql.DriverManager;    

    import java.sql.PreparedStatement;    

    import java.sql.ResultSet;    

    import java.sql.Statement;    

    import java.sql.* ;    

    public class JDBC_Test {    

    //orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库     

    //1521为连接的端口号     

    private static String url="jdbc:oracle:thin:@localhost:1521:orcl";    

    //system为登陆oracle数据库的用户名     

    private static String user="system";    

    //manager为用户名system的密码     

    private static String password="manager";    

    public static Connection conn;    

    public static PreparedStatement ps;    

    public static ResultSet rs;    

    public static Statement st ;    

    //连接数据库的方法     

    public void getConnection(){    

    try {    

    //初始化驱动包     

    Class.forName("oracle.jdbc.driver.OracleDriver");    

    //根据数据库连接字符,名称,密码给conn赋值     

    conn=DriverManager.getConnection(url, user, password);    

    } catch (Exception e) {    

    // TODO: handle exception     

    e.printStackTrace();    

    }    

    }    

    //测试能否与oracle数据库连接成功     

    public static void main(String[] args) {    

    JDBC_Test basedao=new JDBC_Test();    

    basedao.getConnection();    

    if(conn==null){    

    System.out.println("与oracle数据库连接失败!");    

    }else{    

    System.out.println("与oracle数据库连接成功!");    

    }    

    }    

    }    

    </SPAN>    

    import java.sql.Connection;  

    import java.sql.DriverManager;  

    import java.sql.PreparedStatement;  

    import java.sql.ResultSet;  

    import java.sql.Statement;  

    import java.sql.* ;  

    public class JDBC_Test {  

    //orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库  

    //1521为连接的端口号  

    private static String url="jdbc:oracle:thin:@localhost:1521:orcl";  

    //system为登陆oracle数据库的用户名  

    private static String user="system";  

    //manager为用户名system的密码  

    private static String password="manager";  

    public static Connection conn;  

    public static PreparedStatement ps;  

    public static ResultSet rs;  

    public static Statement st ;  

    //连接数据库的方法  

    public void getConnection(){  

    try {  

    //初始化驱动包  

    Class.forName("oracle.jdbc.driver.OracleDriver");  

    //根据数据库连接字符,名称,密码给conn赋值  

    conn=DriverManager.getConnection(url, user, password);  

    } catch (Exception e) {  

    // TODO: handle exception  

    e.printStackTrace();  

    }  

    }  

    //测试能否与oracle数据库连接成功  

    public static void main(String[] args) {  

    JDBC_Test basedao=new JDBC_Test();  

    basedao.getConnection();  

    if(conn==null){  

    System.out.println("与oracle数据库连接失败!");  

    }else{  

    System.out.println("与oracle数据库连接成功!");  

    }  

    }  

    }  

    S5、如果上述的连接已经建立,就可以利用JDBC中的Java API对数据库进行操作了,具体的查询,插入,删除,更新操作如下:  

    [cpp] view plaincopyprint?<SPAN style="FONT-SIZE: 16px">代码转载自:http://blog.csdn.net/cxwen78/article/details/6863696     

    import java.sql.Connection;    

    import java.sql.DriverManager;    

    import java.sql.ResultSet;    

    import java.sql.SQLException;    

    import java.sql.Statement;    

    public class JDBC_Test {    

    // 创建静态全局变量     

    static Connection conn;    

    static Statement st;    

    public static void main(String[] args) {    

    insert();   //插入添加记录     

    update();   //更新记录数据     

    delete();   //删除记录     

    query();    //查询记录并显示     

    }    

    /* 插入数据记录,并输出插入的数据记录数*/    

    public static void insert() {    

    conn = getConnection(); // 首先要获取连接,即连接到数据库     

    try {    

    String sql = "INSERT INTO staff(name, age, sex,address, depart, worklen,wage)"    

    + " VALUES ('Tom1', 32, 'M', 'china','Personnel','3','3000')";  // 插入数据的sql语句     

    st = (Statement) conn.createStatement();    // 创建用于执行静态sql语句的Statement对象     

    int count = st.executeUpdate(sql);  // 执行插入操作的sql语句,并返回插入数据的个数     

    System.out.println("向staff表中插入 " + count + " 条数据"); //输出插入操作的处理结果     

    conn.close();   //关闭数据库连接     

    } catch (SQLException e) {    

    System.out.println("插入数据失败" + e.getMessage());    

    }    

    }    

    /* 更新符合要求的记录,并返回更新的记录数目*/    

    public static void update() {    

    conn = getConnection(); //同样先要获取连接,即连接到数据库     

    try {    

    String sql = "update staff set wage='2200' where name = 'lucy'";// 更新数据的sql语句     

    st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量     

    int count = st.executeUpdate(sql);// 执行更新操作的sql语句,返回更新数据的个数     

    System.out.println("staff表中更新 " + count + " 条数据");      //输出更新操作的处理结果     

    conn.close();   //关闭数据库连接     

    } catch (SQLException e) {    

    System.out.println("更新数据失败");    

    }    

    }    

    /* 查询数据库,输出符合要求的记录的情况*/    

    public static void query() {    

    conn = getConnection(); //同样先要获取连接,即连接到数据库     

    try {    

    String sql = "select * from staff";     // 查询数据的sql语句     

    st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量     

    ResultSet rs = st.executeQuery(sql);    //执行sql查询语句,返回查询数据的结果集     

    System.out.println("最后的查询结果为:");    

    while (rs.next()) { // 判断是否还有下一个数据     

    // 根据字段名获取相应的值     

    String name = rs.getString("name");    

    int age = rs.getInt("age");    

    String sex = rs.getString("sex");    

    String address = rs.getString("address");    

    String depart = rs.getString("depart");    

    String worklen = rs.getString("worklen");    

    String wage = rs.getString("wage");    

    //输出查到的记录的各个字段的值     

    System.out.println(name + " " + age + " " + sex + " " + address    

    + " " + depart + " " + worklen + " " + wage);    

    }    

    conn.close();   //关闭数据库连接     

    } catch (SQLException e) {    

    System.out.println("查询数据失败");    

    }    

    }    

    /* 删除符合要求的记录,输出情况*/    

    public static void delete() {    

    conn = getConnection(); //同样先要获取连接,即连接到数据库     

    try {    

    String sql = "delete from staff  where name = 'lili'";// 删除数据的sql语句     

    st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量     

    int count = st.executeUpdate(sql);// 执行sql删除语句,返回删除数据的数量     

    System.out.println("staff表中删除 " + count + " 条数据\n");    //输出删除操作的处理结果     

    conn.close();   //关闭数据库连接     

    } catch (SQLException e) {    

    System.out.println("删除数据失败");    

    }    

    }    

    /* 获取数据库连接的函数*/    

    public static Connection getConnection() {    

    Connection con = null;  //创建用于连接数据库的Connection对象     

    try {    

    Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动     

    con = DriverManager.getConnection(    

    "jdbc:mysql://localhost:3306/myuser", "root", "root");// 创建数据连接    

    } catch (Exception e) {    

    System.out.println("数据库连接失败" + e.getMessage());    

    }    

    return con; //返回所建立的数据库连接     

    }    

    }    

    </SPAN>    

温馨提示:答案为网友推荐,仅供参考