JDBC--Statement使用

1、通过Statement实现类执行更新操作(INSERT、UPDATE 、DELETE):

--1)获取数据库连接Connection的对象;

--2)通过Connection类的createStatement()方法获取Statement对象;;

--3)调用Satement类的executeUpdate(sql) 方法执行更新操作;

--4)释放数据库资源(关闭Statement对象和Connection对象);

public static int update(String sql){
    Connection conn = null;
    Statement statement = null;
    int influencedRows = 0;
    try{
        //获取数据连接
        conn = JDBCUtils.getConnection();
        //获取Statement对象
        statement = conn.createStatement();
        //执行更新操作
        influencedRows =  statement.executeUpdate(sql);
    }catch(Exception e){
        e.printStackTrace();
    }finally{
        //释放资源
        release(conn, statement);
    }
   //返回受影响行数
return influencedRows; }

 2、通过Statement实现类执行查询并获取查询数据:

--步骤与更新大致相同,但是这里使用Statement的executeQuery(sql)方法来执行查询操作,该操作将返回一个ResultSet结果集;

--ResultSet以逻辑表格的形式封装了数据库操作的结果集,ResultSet类维护了一个游标,该游标一开始指向数据表第一行的前面,可通过其next()方法进行下移,若检测到下一行有数据,则游标下移,并返回true,此时可通过getXxx(columnIndex | columnName)等方法获取具体列的值。

public static void query(){
    Connection conn = null;
    Statement statement = null;
    ResultSet rs = null;
    String sql = "select * from employees";
    try{
        //1、获取数据库连接
        conn = JDBCUtils.getConnection();
        
        //2、获取Satement对象
        statement = conn.createStatement();
        
        //3、调用Statement类的executeQuery(sql)方法获取结果集ResultSet
        rs = statement.executeQuery(sql);
            
        //4、获取ResultSet中的数据
        while(rs.next()){
            int id = rs.getInt("employee_id");
            String name = rs.getString("last_name");
            double salary = rs.getDouble("salary");
            System.out.println("ID: " + id);
            System.out.println("Last Name: " + name);
            System.out.println("Salary: " + salary);
        }
    }catch(Exception e){
        e.printStackTrace();
    }finally{
        //5、关闭数据库资源
        if(rs != null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
            
        release(conn, statement);
    }
}

 

posted on 2015-11-15 18:39  _taoGe  阅读(1537)  评论(0编辑  收藏  举报