admin 管理员组文章数量: 887032
execute,executeQuery和executeUpdate的区别
在jdbc中有3种执行sql的语句分别是execute,executeQuery和executeUpdate
execute执行增删改查操作
execute返回的结果是个boolean型,当返回的是true的时候,表明有ResultSet结果集,通常是执行了select操作,当返回的是false时,通常是执行了insert、update、delete等操作。execute通常用于执行不明确的sql语句。
executeQuery执行查询操作
executeQuery返回的是ResultSet结果集,通常是执行了select操作。
executeUpdate执行增删改操作
executeUpdate返回的是int型,表明受影响的行数,通常是执行了insert、update、delete等操作。
实例如下:
package javaTest;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;public class ConnDataBase {public static void main(String[] args) {execute();//增删改查
// executeQuery();//excuteQuery 查
// executeUpdate();//excuteUpdate 增删改}/*** 获取连接* @return 连接对象*/public static Connection getConnection(){Connection con = null;try {Class.forName("oracle.jdbc.OracleDriver");//获取oracle驱动con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL", "ssh1", "ssh1");///填入url,用户名,密码}catch(Exception e){e.printStackTrace();}return con;}/*** 用executeUpdate执行增删改操作*/public static void executeUpdate(){Connection con=null;try {con=getConnection();String sql="insert into student(s#,sname,sage,ssex) values('7','哈7','27','男')";
// String sql="delete from student where s#='7'";
// String sql="update student set sname='呵7' where s#='7'";Statement st=con.createStatement();//创建用于执行静态的statement对象int count=st.executeUpdate(sql);//执行sql插入(删除、更新)语句,返回插入的行数System.out.println("插入(删除、更新)"+count+"条数据");con.close();} catch (SQLException e) {e.printStackTrace();}}/*** 用executeUpdate执行查询操作*/public static void executeQuery(){Connection con = null;try {con = getConnection();String sql = "select * from Student";Statement st = con.createStatement();ResultSet rs = st.executeQuery(sql);while (rs.next()) {ResultSetMetaData rsmd = rs.getMetaData();//用于分析结果集的元数据接口int columnCount = rsmd.getColumnCount();//列数for(int i=0;i<columnCount;i++){System.out.print(rs.getString(i+1)+" "); }System.out.println();}con.close();} catch (Exception e) {e.printStackTrace();}}/*** 用execute执行增删改查操作*/public static void execute(){Connection con = null;try {con = getConnection();String sql = "select * from Student";
// String sql="insert into student(s#,sname,sage,ssex) values('7','哈7','27','男')";
// String sql="delete from student where s#='7'";
// String sql="update student set sname='呵7' where s#='7'";Statement st = con.createStatement();boolean hasResultSet = st.execute(sql);if(hasResultSet){ResultSet rs=st.getResultSet();while (rs.next()) {ResultSetMetaData rsmd = rs.getMetaData();//用于分析结果集的元数据接口int columnCount = rsmd.getColumnCount();//列数for(int i=0;i<columnCount;i++){System.out.print(rs.getString(i+1)+" "); }System.out.println();}}else{int count=st.getUpdateCount();//受影响行数System.out.println("插入(删除、更新)"+count+"条数据");}con.close();} catch (Exception e) {e.printStackTrace();}}
}
本文标签: execute executeQuery和executeUpdate的区别
版权声明:本文标题:execute,executeQuery和executeUpdate的区别 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1686949389h50054.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论