使用Connection的createStatement()来建立Statement对象,如
Statement st = conn.createStatement();
Statement对象主要执行静态的SQL语句,也就是在执行executeQuery()或者executeUpdate()时指定的是内容固定不变的SQL语句字符串,每一句都已经写好了.
如:st.executeUpdate("insert into admin values(9,'admin','123','123','2011-03-06 15:22:38')");
获得Statement对象之后,可以使用executeUpdate(),executeQuery(),execute()方法来执行SQL,其中:
executeUpdate()主要是用来执行create,insert,drop,alter等会改变数据库内容的SQL,返回的是int值
executeQuery()则用于select等查询语句,返回的是ResultSet,即查询对象,
execute()测试执行的SQL是进行查询还是更新,返回true的话表明返回的是ResultSet的查询结果,可使用getResultSet()方法获得ResultSet对象,返回false的话表示返回的是更新数目或者没有结果,此时可以使用getUpdateCount()会的更新数目
当操作只是SQL语句中某些参数会不同,可以使用PreparedStatement对象,会变的参数部分,先指定"?"作为占位字符,然后使用setInt(),setString()等方法,指定"?"处真正该有的参数.如:
PreparedStatement ps = conn.prepareStatement("insert into admin values(?,?)");
ps.setInt(1,9);
ps.setString(2,"admin");