文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

JDBC中Statement接口实现查询数据、添加数据

2024-12-03 04:18

关注

大家好,我是Java进阶者,今天给大家介绍的是如何使用Statement接口实现查询查询数据、添加数据。

一、前言

在JDBC技术中,不同的数据库需要不同的驱动程序,先加载驱动程序,接着数据库的连接后,再使用SQL语句来执行数据库。本文给大家介绍的是如何使用Statement接口实现查询查询数据、添加数据,接下来,小编带大家一起来学习!

二、JDBC的基本应用

在程序中和某个数据库进行连接之后,可以使用SQL语句和该数据库中的表进行交互信息,例如,通过增、删、改、查的方式来操作表中的记录。这些交互是通过JDBC的一个API接口实现的。JDBC提供的Statement接口向数据库发送SQL语句,执行SQL语句返回一个结果保存在一个ResultSet对象中,调用该对象的next()方法来获取数据。

使用Statement接口查询数据的步骤如下所示:

1)首先导入拓展包“mysql-connector-java-5.1.7-bin.jar”,在Ecilpse编辑软件的当前项目右键选择“Bulid Path”,再选择“Configure Build Path...”,选择Libraies,在右边有个“Add External JARs...”按钮把这个拓展包加进来,然后点击“OK”。具体操作如下图所示:

2)使用Class.forName()方法来加载驱动程序。

3)成功加载驱动程序后,Class.forName()方法向DriverManager注册自己,接着使用getConnection()方法和数据库进行连接,返回一个Connection对象。

4)使用Connection对象的createStatement()方法创建一个Statement对象。

5)使用Statement对象调用executeQuery()方法查询数据库表,把查询的结果存储在一个ResultSet对象。

6)使用ResultSet对象的next()方法,获取表中的数据。

三、通过一个案例了解Statement接口查询数据的用法

在上面介绍了Statement接口查询数据的具体步骤,接下来,小编带着大家一起来了解Statement接口查询数据的用法,student表中的数据和代码如下所示:

student表中的数据:

代码:

  1. import java.sql.Connection
  2. import java.sql.DriverManager; 
  3. import java.sql.ResultSet; 
  4. import java.sql.SQLException; 
  5. import java.sql.Statement; 
  6. import java.util.Scanner; 
  7.  
  8. public class Example30 { 
  9.  
  10.     public static void main(String[] args) { 
  11.         System.out.println("请输入你要查询的ID:"); 
  12.         Scanner sc=new Scanner(System.in); 
  13.         String input=sc.next(); 
  14.         String driver="com.mysql.jdbc.Driver"
  15.         try { 
  16.             //加载驱动 
  17.             Class.forName(driver); 
  18.             //数据库地址,本机、端口号3306、数据库名为test 
  19.             String url="jdbc:mysql://localhost:3306/test"
  20.             //用户名 
  21.             String user="root"
  22.             //密码 
  23.             String pwd="168168"
  24.             //连接数据库 
  25.             Connection conn=DriverManager.getConnection(url,user,pwd); 
  26.             //创建Statement对象 
  27.             Statement stmt=conn.createStatement(); 
  28.             String sql="select * from student where id='"+input+"'"
  29.             //执行SQL语句 
  30.             ResultSet rs=stmt.executeQuery(sql); 
  31.             //根据用户输入的ID值获取数据 
  32.             if(rs.next()){ 
  33.                 System.out.println("id:"+rs.getString("id")+"  name:"+rs.getString("name")+"  age:"+rs.getInt("age")); 
  34.             }else
  35.                 System.out.println("你输入的ID不存在!"); 
  36.             } 
  37.         } catch (ClassNotFoundException e) { 
  38.             // TODO Auto-generated catch block 
  39.             e.printStackTrace(); 
  40.         } catch (SQLException e) { 
  41.             // TODO Auto-generated catch block 
  42.             e.printStackTrace(); 
  43.         } 
  44.     } 

效果图如下所示:

在上面代码中,首先是加载驱动程序,之后使用getConnection()方法来连接数据库,创建Statement对象,调用Connection对象的createStatement()方法创建这个MySQL语句对象,在这个对象调用executeQuery()方法来处理查询的结果。

四、Statement接口添加数据实现步骤

首先导入拓展包“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接口添加数据的实现步骤,接下来,小编带着大家一起来了解Statement接口添加数据的用法,代码如下所示:

  1. import java.sql.Connection
  2. import java.sql.DriverManager; 
  3. import java.sql.ResultSet; 
  4. import java.sql.SQLException; 
  5. import java.sql.Statement; 
  6. import java.util.Scanner; 
  7.  
  8. public class Example31 { 
  9.  
  10.     public static void main(String[] args) { 
  11.         Scanner sc=new Scanner(System.in); 
  12.         System.out.println("请输入你要添加的ID:"); 
  13.         String id=sc.next(); 
  14.         System.out.println("请输入你要添加的Name:"); 
  15.         String name=sc.next(); 
  16.         System.out.println("请输入你要添加的Age:"); 
  17.         int age=sc.nextInt(); 
  18.         String driver="com.mysql.jdbc.Driver"
  19.         try { 
  20.             //加载驱动 
  21.             Class.forName(driver); 
  22.             //数据库地址,本机、端口号3306、数据库名为test 
  23.             String url="jdbc:mysql://localhost:3306/test"
  24.             //用户名 
  25.             String user="root"
  26.             //密码 
  27.             String pwd="168168"
  28.             //连接数据库 
  29.             Connection conn=DriverManager.getConnection(url,user,pwd); 
  30.             //创建Statement对象 
  31.             Statement stmt=conn.createStatement(); 
  32.             String sql="insert into student values('"+id+"','"+name+"',"+age+")"
  33.             //执行SQL语句 
  34.             stmt.executeUpdate(sql); 
  35.             sql="select * from student where id='"+id+"'"
  36.             //执行SQL语句 
  37.             ResultSet rs=stmt.executeQuery(sql); 
  38.             //根据ID值获取数据 
  39.             if(rs.next()){ 
  40.                 System.out.println("id:"+rs.getString("id")+"  name:"+rs.getString("name")+"  age:"+rs.getInt("age")); 
  41.             } 
  42.         } catch (ClassNotFoundException e) { 
  43.             // TODO Auto-generated catch block 
  44.             e.printStackTrace(); 
  45.         } catch (SQLException e) { 
  46.             // TODO Auto-generated catch block 
  47.             e.printStackTrace(); 
  48.         } 
  49.     } 

效果图如下所示:

表中的数据:

在上面代码中,首先是加载驱动程序,之后使用getConnection()方法来连接数据库,创建Statement对象,调用Connection对象的createStatement()方法创建这个MySQL语句对象,在这个对象调用executeUpdate方法来处理。

六、总结

本文介绍了Statement接口实现查询数据、添加数据。

在JDBC的基本应用中,介绍了使用Statement接口查询和添加数据的步骤。重点在于使用getConnection()方法来连接数据库,创建Statement对象,调用Connection对象的createStatement()方法创建这个MySQL语句对象。

针对接口查询数据,在这个对象调用executeQuery()方法来处理查询的结果;针对接口添加数据,在这个对象调用executeUpdate方法来处理。并通过一个具体的案例来帮助大家了解它的用法。

希望大家通过本文的学习,对你有所帮助!

本文转载自微信公众号「Java进阶学习交流」,可以通过以下二维码关注。转载本文请联系Java进阶学习交流公众号。

 

来源:Java进阶学习交流内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯