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

一、前言

在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”。具体操作如下图所示:

  1. 使用Class.forName()方法来加载驱动程序。
  1. 成功加载驱动程序后,Class.forName()方法向DriverManager注册自己,接着使用getConnection()方法和数据库进行连接,返回一个Connection对象。
  1. 使用Connection对象的createStatement()方法创建一个Statement对象。
  1. 使用Statement对象调用executeQuery()方法查询数据库表,把查询的结果存储在一个ResultSet对象。
  1. 使用ResultSet对象的next()方法,获取表中的数据。

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

在上面介绍了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()方法来处理查询的结果。

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

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

  1. 使用Class.forName()方法来加载驱动程序。
  1. 成功加载驱动程序后,Class.forName()方法向DriverManager注册自己,接着使用getConnection()方法和数据库进行连接,返回一个Connection对象。
  1. 使用Connection对象的createStatement()方法创建一个Statement对象。
  1. 使用Statement对象调用executeUpdate()方法查询数据库表,把查询的结果存储在一个ResultSet对象。
  1. 使用ResultSet对象的next()方法,获取表中的数据。

五、通过一个案例了解Statement接口添加数据的用法

在上面介绍了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方法来处理。并通过一个具体的案例来帮助大家了解它的用法。

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

Statement接口实现查询数据、添加数据相关推荐

  1. Python Flask实现查询和添加数据

    Python Flask实现查询和添加数据 在其他的文章里,我写了 Flask 对数据库进行增删改查的方法,也写了 Flask 将数据返回给前端的方法. 这篇文章,将两者串联起来,实现从前端到数据库的 ...

  2. SQL Server 2014 更新数据(添加数据、修改数据、删除数据、like)

    文章目录 1.理解 2.添加数据 2.修改数据 3.删除数据 5.like 1.理解 1.1 展开"数据库",打开对应的数据库,然后再展开"表",右击需要操作的 ...

  3. eclipse给mysql修改表数据_Eclipse中java向数据库中添加数据,更新数据,删除数据...

    ASP.NET网页动态添加.更新或删除数据行 看过此篇 http://www.cnblogs.com/insus/p/3247935.html的网友,也许明白Insus.NET是怎样实现动态添加数据行 ...

  4. 2022-12-3 图形化界面工具 添加数据

    DML:增删改表中数据 添加数据 语法 insert into 表名(列名1,列名2,,列名n)values(值1,值2,值n); 注意: 列名和值一一对应,名字以及类型. 如果表名后不定义列名,默认 ...

  5. mysql删除新添加数据,MySQL添加、更新与删除数据

    添加.更新与删除数据 添加数据 为表中所有字段添加数据 INSERT INTO 表名(字段名1,字段名2,--) VALUES(值1,值2,--); insert into 表名 values(值1, ...

  6. vue 数组 指定位置添加数据_VUE 响应式原理源码:带你一步精通 VUE | 原力计划...

    作者 | 爱编程的小和尚 责编 | 王晓曼 出品 | CSDN博客 学过 VUE 如果不了解响应式的原理,怎么能说自己熟练使用 VUE,要是没有写过一个简易版的 VUE 怎么能说自己精通 VUE,这篇 ...

  7. 【EXCEL】给数据添加图表(数据条、柱状图、折线图等),快速分析功能图文详解

    目录 0.环境 1.背景+简介 2.具体实现 2.1 给数据添加数据条 实现效果: 具体操作: 2.2 给数据添加柱状图图表 实现效果: 具体操作: 2.3 给数据添加迷你图(在表格中的折线图) 实现 ...

  8. python 更新数据库历史_python 实现数据库中数据添加、查询与更新的示例代码

    一.前言 最近做web网站的测试,遇到很多需要批量造数据的功能:比如某个页面展示数据条数需要达到10000条进行测试,此时手动构造数据肯定是不可能的,此时只能通过python脚本进行自动构造数据:本次 ...

  9. sql语句中查询出的数据添加一列,并且添加默认值

    查询出数据,并且要添加一列表中都不存在的数据,且这一列的值都是相等的 select app_id,app_secret from wx_ticket group by app_id; 查询出的数据是 ...

最新文章

  1. JAVA记录-Servlet RequestDispatcher请求转发
  2. asp.net中防止攻击的方法
  3. Qt 中事件与处理
  4. C++排序之stable_sort()的方法
  5. Android 系统(227)---Android屏幕截图
  6. JAVA笔记12__字节、字符缓冲流/打印流/对象流/
  7. 11.C 语言连接 MySQL
  8. 查看Tensorflow 是使用GPU or CPU运行
  9. css line-height多种用法与之间的区别
  10. 使用链接时间代码生成
  11. PLSQL Developer 安装使用教程详解
  12. PR2021安装包下载
  13. 消费型保险PK返还型保险
  14. AD13如何导出坐标文件
  15. JAVA社区疫情防控系统毕业设计 开题报告
  16. 【GAMES101现代计算机图形学入门笔记】Lec05 光栅化1(三角形)
  17. Liunx服务器创建新用户
  18. android 4.4 短信拦截,Android 4.4 KitKat升级率已经接近18%
  19. 有n个人围成一圈编号1~n,顺序排好,从第一个人开始1到3报数,凡是报到3的人退出圈子,C语言编程出圈顺序
  20. spingboot报错I/O error on POST request for “9411/api/v2/spans“: connect timed out

热门文章

  1. CPU上跑到 100 fps 的高精度PyTorch人脸特征点检测库
  2. 我是怎么读源码的,授之以渔
  3. 【每日一算法】二叉搜索树结点最小距离
  4. Python RPi GPIO编程控制
  5. celery源码分析-worker初始化分析(下)
  6. XML,JOSN,YAML三种文件类型的区别
  7. 解决 python pip install安装速度慢| 版本低|跨过个别错误包
  8. RGBD相机模型与图片处理
  9. 拒绝遗忘:高效的动态规划算法
  10. 基于OpenCV的条形码区域分割