当前位置: 首页 > 科技观察

JDBC的常用接口浅析——JDBC的Statement接口,PreparedStatement接口

时间:2023-03-15 14:52:23 科技观察

大家好,我是Java进阶。今天继续和大家分享JDBC技术。一、前言在《浅析JDBC常用的类和接口——JDBC的Driver接口、DriverManager类、Connection接口》一文中,我们介绍了使用Java语言连接数据库。本文主要介绍如何在连接数据库后用Java执行SQL语句。接下来,小编就带大家一起来学习吧!二、Statement接口1、Statement接口用于执行比较简单的无参数SQL语句。Statement对象是由Connection对象的方法createStatement()创建的,它将SQL语句传递给数据库执行,然后返回数据库处理的结果。2、Statement的常用方法常用方法:1)booleanexecute(Stringsql):执行给定的SQL语句。2)ResultSetexecuteQuery(Stringsql):执行给定的SQL查询语句。3)intexecuteUpdate(Stringsql):执行数据更新SQL语句。4)ConnectiongetConnection():获取数据库的连接。5)intgetMaxRows():获取最大行数。6)ResultSetgetResultSet():获取ResultSet对象。7)voidclose():立即释放连接和JDBC资源。三、通过一个案例了解Statement接口的使用1、首先导入扩展包“mysql-connector-java-5.1.7-bin.jar”,右击Eclipse编辑软件的当前项目,选择“BuildPath”,然后选择“ConfigureBuildPath...”,选择Libraies,右边有一个“AddExternalJARs...”按钮来添加这个扩展包,然后点击“OK”。具体操作如下图所示:2、上面介绍了Statement接口的基本知识点。下面小编就通过一个案例带大家了解一下Statement接口的用法。代码如下:importjava.sql.Connection;importjava。sql.DriverManager;importjava.sql.SQLException;importjava.sql.Statement;publicclassExample26{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubStringdriver="com.mysql.jdbc.Driver";try{//加载驱动类。forName(driver);//数据库地址,本机,端口号3306,数据库名testStringurl="jdbc:mysql://localhost:3306/test";//用户名Stringuser="root";//密码Stringpwd="168168";//连接数据库Connectionconn=DriverManager.getConnection(url,user,pwd);//创建Statement对象Statementstmt=conn.createStatement();Stringsql="select*fromstudent";//执行SQL声明stm。executeQuery(sql);System.out.println(stmt);}catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}效果如图所示:上述代码中,首先加载驱动,然后连接Mysql数据库,创建Statement对象,使用executeQuery()方法执行SQL语句。四、PreparedStatement接口1、PreparedStatement接口是用来预执行SQL语句的对象。SQL语句被预编译存储在PreparedStatement对象中,利用PreparedStatement对象可以高效地多次执行SQL语句。2.PreparedStatement常用方法常用方法:1)voidaddBatch():给这个PreparedStatement对象的批处理命令添加一组参数。2)voidsetDouble(intparameterIndex,doublex):将指定的参数设置为给定的Javadouble值。3)voidsetFloat(intparameterIndex,floatx):将指定的参数设置为给定的JavaREAL值。4)voidsetInt(intparameterIndex,intx):将指定的参数设置为给定的Javaint值。5)voidsetLong(intparameterIndex,longx):将指定的参数设置为给定的Javalong值。6)voidsetString(intparameterIndex,Stringx):将指定的参数设置为给定的JavaString值。7)voidsetObject(intparameterIndex,Objectx):使用给定的对象来设置指定参数的值8)booleanexecute():执行这个PreparedStatement对象中的SQL语句,可以是任何一种SQL语句。9)ResultSetexecuteQuery():在这个PreparedStatement对象中执行SQL查询,返回查询生成的ResultSet对象。10)intexecuteUpdate():在这个PreparedStatement对象中执行SQL语句,该语句必须是SQL数据操作语言(DataManipulationLanguage,DML)语句,如INSERT、UPDATE或DELETE语句;或者没有返回内容的SQL语句,比如DDL语句。以上方法引用自文档《JavaTM Platform Standard Ed. 6》5。通过一个案例了解PreparedStatement接口的使用1.首先导入扩展包“mysql-connector-java-5.1.7-bin.jar”,右击Eclipse编辑软件的当前项目,选择“BuildPath””,然后选择“ConfigureBuildPath...”,选择Libraies,右边有个“AddExternalJARs...”按钮可以添加这个扩展包,然后点击“OK”。具体操作图片如上。2、PreparedStatement接口的基本知识点上面介绍过了。下面小编就通过一个案例带大家了解PreparedStatement接口的用法。代码如下:importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.SQLException;publicclassExample25{publicstaticvoidmain(String[]args){//定义一个字符串保存Driver类com.mysql.jdbc的路径Stringdriver="com.mysql.jdbc.Driver";try{//加载驱动Class.forName(driver);//数据库地址,本机,端口号3306,数据库名testStringurl="jdbc:mysql://localhost:3306/test";//用户名Stringuser="root";//密码Stringpwd="168168";//连接数据库Connectionconn=DriverManager.getConnection(url,user,pwd);//创建PreparedStatement对象PreparedStatementpst=conn.prepareStatement("select*fromstudentwhereid=?");Stringid="A11";pst.setString(1,id);System.out.println(pst);}catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}效果图如下:上面代码中,先加载驱动,然后连接Mysql数据库,创建一个PpreparedStatement对象包含“select*fromstudentwhereid=?”,发送给数据库管理系统准备执行VI。小结1、本文介绍了JDBC的Statement和PreparedStatement接口。2、Statement接口用于执行比较简单的不带参数的SQL语句。Statement对象是由Connection对象的方法createStatement()创建的,它将SQL语句传递给数据库执行,然后返回数据库处理的结果。文章介绍了其常用方法的使用,并通过一个案例帮助大家了解Statement接口的用法。3、PreparedStatement接口是预执行SQL语句的对象。SQL语句被预编译存储在PreparedStatement对象中,利用PreparedStatement对象可以高效地多次执行SQL语句。文章介绍了其常用方法的使用,并通过一个案例帮助大家理解PreparedStatement接口的用法。本文转载自微信?《Java进阶学习交流》,可通过以下二维码关注。转载本文请联系Java进阶学习交流公众号。