浅析JDBC常用的接口——JDBC的Statement接口、PreparedStatement接口
后台回复“Java”即可获赠Java学习资料
大家好,我是Java进阶者。今天给大家继续分享JDBC技术。
一、前言
在《浅析JDBC常用的类和接口——JDBC的Driver接口、DriverManager类、Connection接口》文章中,我们介绍了使用Java语言来连接数据库。本文主要给大家介绍在Java中,通过连接数据库之后,如何来执行SQL的语句,接下来小编带大家一起来学习!
二、Statement接口
1.Statement接口是用于执行不带参数的比较简单SQL的语句。Statement对象是由Connection对象方法createStatement()创建,该对象会把SQL语句传递给数据库执行,然后返回数据库处理的结果。
2.Statement常用的方法
常用的方法: |
---|
1)boolean execute(String sql):执行给定的SQL语句。 |
2)ResultSet executeQuery(String sql):执行给定的SQL查询语句。 |
3)int executeUpdate(String sql):执行数据更新SQL语句。 |
4)Connection getConnection():获取数据库的连接。 |
5)int getMaxRows():获取最大行数。 |
6)ResultSet getResultSet():获取ResultSet对象。 |
7)void close():立即释放连接和JDBC资源。 |
三、通过一个案例了解Statement接口的用法
1.首先导入拓展包“mysql-connector-java-5.1.7-bin.jar”,在Ecilpse编辑软件的当前项目右键选择“Bulid Path”,再选择“Configure Build Path...”,选择Libraies,在右边有个“Add External JARs...”按钮把这个拓展包加进来,然后点击“OK”。具体操作如下图所示:
2.在上面介绍了Statement接口的基础知识点,接下来,小编通过一个案例带大家一起了解Statement接口的用法,代码如下所示:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Example26 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String driver="com.mysql.jdbc.Driver";
try {
//加载驱动
Class.forName(driver);
//数据库地址,本机、端口号3306、数据库名为test
String url="jdbc:mysql://localhost:3306/test";
//用户名
String user="root";
//密码
String pwd="168168";
//连接数据库
Connection conn=DriverManager.getConnection(url,user,pwd);
//创建Statement对象
Statement stmt=conn.createStatement();
String sql="select * from student";
//执行SQL语句
stmt.executeQuery(sql);
System.out.println(stmt);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
效果图如下所示:
在上面代码中,首先是加载驱动程序,之后,进行Mysql数据库的连接,创建Statement对象,使用executeQuery()方法执行SQL语句。
四、PreparedStatement接口
1.PreparedStatement接口是用于预执行SQL语句的对象。SQL语句预编译存储在PreparedStatement对象中,可以使用PreparedStatement对象多次高效执行SQL语句。
2.PreparedStatement常用的方法
常用的方法: |
---|
1)void addBatch():将一组参数添加到此 PreparedStatement 对象的批处理命令中。 |
2)void setDouble(int parameterIndex, double x):将指定参数设置为给定 Java double 值。 |
3)void setFloat(int parameterIndex, float x):将指定参数设置为给定 Java REAL 值。 |
4)void setInt(int parameterIndex, int x):将指定参数设置为给定 Java int 值。 |
5)void setLong(int parameterIndex, long x):将指定参数设置为给定 Java long 值。 |
6)void setString(int parameterIndex, String x):将指定参数设置为给定 Java String 值。 |
7)void setObject(int parameterIndex, Object x):使用给定对象设置指定参数的值 |
8)boolean execute():在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。 |
9)ResultSet executeQuery():在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。 |
10)int executeUpdate():在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL 数据操作语言(Data Manipulation Language,DML)语句,比如 INSERT、UPDATE 或 DELETE 语句;或者是无返回内容的 SQL 语句,比如 DDL 语句。 |
上述方法引用自文档《JavaTM Platform Standard Ed. 6》
五、通过一个案例了解PreparedStatement接口的用法
1.首先导入拓展包“mysql-connector-java-5.1.7-bin.jar”,在Ecilpse编辑软件的当前项目右键选择“Bulid Path”,再选择“Configure Build Path...”,选择Libraies,在右边有个“Add External JARs...”按钮把这个拓展包加进来,然后点击“OK”。具体操作的图片在上面。
2.在上面介绍了PreparedStatement接口的基础知识点,接下来,小编通过一个案例带大家一起了解PreparedStatement接口的用法,代码如下所示:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Example25 {
public static void main(String[] args) {
//定义一个字符串来保存com.mysql.jdbc的Driver类路径
String driver="com.mysql.jdbc.Driver";
try {
//加载驱动
Class.forName(driver);
//数据库地址,本机、端口号3306、数据库名为test
String url="jdbc:mysql://localhost:3306/test";
//用户名
String user="root";
//密码
String pwd="168168";
//连接数据库
Connection conn=DriverManager.getConnection(url,user,pwd);
//创建PreparedStatement对象
PreparedStatement pst=conn.prepareStatement("select * from student where id=?");
String id="A11";
pst.setString(1,id);
System.out.println(pst);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
效果图如下所示:
在上面代码中,首先是加载驱动程序,之后进行Mysql数据库的连接,创建PreparedStatement对象包含了"select * from student where id=?",它发送给数据库管理系统,并且为执行做了准备。
六、总结
1.本文介绍了JDBC的Statement和PreparedStatement接口。
2.Statement接口是用于执行不带参数的比较简单SQL的语句。Statement对象是由Connection对象方法createStatement()创建,该对象会把SQL语句传递给数据库执行,然后返回数据库处理的结果。文中介绍了它的常用方法的使用,并通过一个案例来帮助大家了解Statement接口的用法。
3.PreparedStatement接口是用于预执行SQL语句的对象。SQL语句预编译存储在PreparedStatement对象中,可以使用PreparedStatement对象多次高效执行SQL语句。文中介绍了它的常用方法的使用,并通过一个案例来帮助大家了解PreparedStatement接口的用法。
4.希望大家通过本文的学习,对你有所帮助!
最后需要拓展包的小伙伴,可以在公众号后台回复“拓展包”关键字进行获取。
我是Java进阶者,希望大家通过本文的学习,对你有所帮助!欢迎大家加我微信,有问题可以随时帮大家解决噢,交个朋友也好哇~
------------------- End -------------------
往期精彩文章推荐:
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Java学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行