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); }
}