共计 4425 个字符,预计需要花费 12 分钟才能阅读完成。
导读 | 本文介绍了 Statement 接口实现查询数据、添加数据。在 JDBC 的基本应用中,介绍了使用 Statement 接口查询和添加数据的步骤。重点在于使用 getConnection() 方法来连接数据库,创建 Statement 对象,调用 Connection 对象的 createStatement() 方法创建这个 MySQL 语句对象。 |
在 JDBC 技术中,不同的数据库需要不同的驱动程序,先加载驱动程序,接着数据库的连接后,再使用 SQL 语句来执行数据库。本文给大家介绍的是如何使用 Statement 接口实现查询查询数据、添加数据,接下来,小编带大家一起来学习!
在程序中和某个数据库进行连接之后,可以使用 SQL 语句和该数据库中的表进行交互信息,例如,通过增、删、改、查的方式来操作表中的记录。这些交互是通过 JDBC 的一个 API 接口实现的。JDBC 提供的 Statement 接口向数据库发送 SQL 语句,执行 SQL 语句返回一个结果保存在一个 ResultSet 对象中,调用该对象的 next() 方法来获取数据。
-
首先导入拓展包“mysql-connector-java-5.1.7-bin.jar”,在 Ecilpse 编辑软件的当前项目右键选择“Bulid Path”,再选择“Configure Build Path…”,选择 Libraies,在右边有个“Add External JARs…”按钮把这个拓展包加进来,然后点击“OK”。具体操作如下图所示:
-
使用 Class.forName() 方法来加载驱动程序。
-
成功加载驱动程序后,Class.forName() 方法向 DriverManager 注册自己,接着使用 getConnection() 方法和数据库进行连接,返回一个 Connection 对象。
- 使用 Connection 对象的 createStatement() 方法创建一个 Statement 对象。
- 使用 Statement 对象调用 executeQuery() 方法查询数据库表,把查询的结果存储在一个 ResultSet 对象。
- 使用 ResultSet 对象的 next() 方法,获取表中的数据。
在上面介绍了 Statement 接口查询数据的具体步骤,接下来,小编带着大家一起来了解 Statement 接口查询数据的用法,student 表中的数据和代码如下所示:
student 表中的数据:
代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class Example30 {public static void main(String[] args) {System.out.println("请输入你要查询的 ID:");
Scanner sc=new Scanner(System.in);
String input=sc.next();
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 where id='"+input+"'";
// 执行 SQL 语句
ResultSet rs=stmt.executeQuery(sql);
// 根据用户输入的 ID 值获取数据
if(rs.next()){System.out.println("id:"+rs.getString("id")+"name:"+rs.getString("name")+"age:"+rs.getInt("age"));
}else{System.out.println("你输入的 ID 不存在!");
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();}
}
}
效果图如下所示:
在上面代码中,首先是加载驱动程序,之后使用 getConnection() 方法来连接数据库,创建 Statement 对象,调用 Connection 对象的 createStatement() 方法创建这个 MySQL 语句对象,在这个对象调用 executeQuery() 方法来处理查询的结果。
- 首先导入拓展包“mysql-connector-java-5.1.7-bin.jar”,在 Ecilpse 编辑软件的当前项目右键选择“Bulid Path”,再选择“Configure Build Path…”,选择 Libraies,在右边有个“Add External JARs…”按钮把这个拓展包加进来,然后点击“OK”。具体操作如下图所示:
- 使用 Class.forName() 方法来加载驱动程序。
- 成功加载驱动程序后,Class.forName() 方法向 DriverManager 注册自己,接着使用 getConnection() 方法和数据库进行连接,返回一个 Connection 对象。
- 使用 Connection 对象的 createStatement() 方法创建一个 Statement 对象。
- 使用 Statement 对象调用 executeUpdate() 方法查询数据库表,把查询的结果存储在一个 ResultSet 对象。
- 使用 ResultSet 对象的 next() 方法,获取表中的数据。
在上面介绍了 Statement 接口添加数据的实现步骤,接下来,小编带着大家一起来了解 Statement 接口添加数据的用法,代码如下所示:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class Example31 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);
System.out.println("请输入你要添加的 ID:");
String id=sc.next();
System.out.println("请输入你要添加的 Name:");
String name=sc.next();
System.out.println("请输入你要添加的 Age:");
int age=sc.nextInt();
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="insert into student values('"+id+"','"+name+"',"+age+")";
// 执行 SQL 语句
stmt.executeUpdate(sql);
sql="select * from student where id='"+id+"'";
// 执行 SQL 语句
ResultSet rs=stmt.executeQuery(sql);
// 根据 ID 值获取数据
if(rs.next()){System.out.println("id:"+rs.getString("id")+"name:"+rs.getString("name")+"age:"+rs.getInt("age"));
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();}
}
}
效果图如下所示:
表中的数据:
在上面代码中,首先是加载驱动程序,之后使用 getConnection() 方法来连接数据库,创建 Statement 对象,调用 Connection 对象的 createStatement() 方法创建这个 MySQL 语句对象,在这个对象调用 executeUpdate 方法来处理。
本文介绍了 Statement 接口实现查询数据、添加数据。
在 JDBC 的基本应用中,介绍了使用 Statement 接口查询和添加数据的步骤。重点在于使用 getConnection() 方法来连接数据库,创建 Statement 对象,调用 Connection 对象的 createStatement() 方法创建这个 MySQL 语句对象。
针对接口查询数据,在这个对象调用 executeQuery() 方法来处理查询的结果; 针对接口添加数据,在这个对象调用 executeUpdate 方法来处理。并通过一个具体的案例来帮助大家了解它的用法。
希望大家通过本文的学习,对你有所帮助!