JDBC访问数据库的基本步骤(Oracle数据库为例)

来源:互联网 发布:nestopia mac 设置 编辑:程序博客网 时间:2024/06/07 19:35

写代码之前的工作:

1、加入jdbc驱动包。选中项目,右键“编辑路径来源”(操作如图);

2、开启OracleService和TNSListener服务(如图)。

 

 

接下来是代码部分(分六个步骤):

1、加载驱动;

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

2、创建连接;
       Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORADB", "scott","tiger");

3、创建发送SQL语句的对象:

      Statement stmt = conn.createStatement();

4、进行数据库操作;
      // 插入数据

      int executeUpdate = stmt.executeUpdate("INSERT INTO dept VALUES(50,'人事部门','北京')");
      // 修改数据

      System.out.println(executeUpdate);
      String sql = "UPDATE dept SET LOC='成都' WHERE deptno=50";
      int affectedRow = stmt.executeUpdate(sql);
      System.out.println("影响的行数为:"+affectedRow);

      // 删除数据
      String deleteSql = "DELETE FROM dept WHERE deptno=50";
      int affectedRow1 = stmt.executeUpdate(deleteSql);

      // 查询数据
      rs = stmt.executeQuery("SELECT * FROM dept");

5、如果是查询数据,可进一步获得当前记录集中的某一记录的各个字段的值;

      re.next();

      String loc = rs.getString(2);

6、关闭相关对象。

      rs.close();

      stmt.close();

      con.cloae();

 

 

最后,来一段写好的代码(对于dept表的查询)。。。

        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL","scott","tiger");
            stmt = conn.createStatement();
           
            String sql = "select * from dept";
            rs = stmt.executeQuery(sql);
           
            while(rs.next()){
                out.println(rs.getInt(1)+"   "+rs.getString(2)+"   "+rs.getString(3)+"<br >");
                }
        } catch (Exception e) {
            e.printStackTrace();
            }finally{
                try {
                    if (rs != null)
                        rs.close();
                    if (stmt != null)
                        stmt.close();
                    if (conn != null)
                        conn.close();
                    } catch (SQLException sqle) {
                        // TODO: Add catch code
                        sqle.printStackTrace();
                        }
            }