JDBC是什么

JDBC代表Java数据库连接(Java Database Connectivity),它是用于Java编程语言和数据库之间的数据库无关连接的标准Java API,换句话说:JDBC是用于在Java语言编程中与数据库连接的API.

使用Java代码发送sql语句的技术就是JDBC技术。即JDBC是一个接口,用于不同的数据库(oracle、mysql、sqlserver。。)的操作。

java.sqljavax.sql是JDBC 4.0的主要jar包。

JDBC允许Java程序包含与数据库无关的代码(同样的代码,只需要指定使用的数据库类型,不需要重修改数据库查询或操作代码)。

JDBC架构

JDBC API支持用于数据库访问的两层和三层处理模型,但通常,JDBC体系结构由两层组成:

  • JDBC API:提供应用程序到JDBC管理器连接。
  • JDBC驱动程序API:支持JDBC管理器到驱动程序连接。

以下是架构图,它显示了驱动程序管理器相对于JDBC驱动程序和Java应用程序的位置

JDBC简单应用实例

一.安装数据库Mysql ,本例子使用的是mysql

点击查看如何安装

二.下载驱动Mysql-Connector/J

要在程序中连接mysql数据库对其进行操作,我们还需要下载驱动Mysql-Connector/J,这是mysql为java的数据库连接开发的库,同时官网上也有类似为其他语言的库,比如Connectors/.Net , Connectors/php , Connectors/C++.

点击下载mysql-connector-java-5.1.47.jar

下载zip包,解压后找到mysql-connector-java-5.1.47.jar包,导入到java程序即可,完成准备工作。

三.构建表

具体命令可以看:如何创建表

在mysql下新建数据库firstdb

在firstdb下新建一张表xtb.  表结构为user_id,user_name,user_sex,user_phone

然后插入几条数据,最后完成如下:

四.编写程序,新建common类,应用jdbc来对数据库中的xtb表进行增删查改。

代码如下:

package jdbc_test;import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;public class common {// JDBC 驱动名 及数据库 URLstatic final String JDBC_DRIVER = "com.mysql.jdbc.Driver";static final String DB_URL = "jdbc:mysql://localhost:3306/firstdb";// 数据库的用户名与密码,需要根据自己的设置static final String USER = "root";static final String PASS = "";public static void main(String[] args) throws Exception {Connection conn = null;Statement stmt = null;try {// 注册 JDBC 驱动// 把Driver类装载进jvmClass.forName("com.mysql.jdbc.Driver");// 打开链接System.out.println("连接数据库...");conn = (Connection) DriverManager.getConnection(DB_URL, USER, PASS);// 执行查询System.out.println(" 实例化Statement对...");stmt = (Statement) conn.createStatement();String sql = "SELECT * FROM xtb";ResultSet rs = stmt.executeQuery(sql);while (rs.next()) {// 通过字段检索int id = rs.getInt("user_id");String name = rs.getString("user_name");String sex = rs.getString("user_sex");String phone = rs.getString("user_phone");// 输出数据System.out.print("ID: " + id);System.out.print(", 名字: " + name);System.out.print(",性别: " + sex);System.out.print(", 手机号码:" + phone);System.out.print("\n");}//更新updateString update_sql = "update  xtb set user_name=\"jerry\",user_phone =\"0123\"  where user_id>4";stmt.execute(update_sql);//增加insertString inset_sql = "insert into xtb (user_name, user_sex, user_phone) values(\"jom\", \"nan\",  \"123864979\")";int i = stmt.executeUpdate(inset_sql);//删除 deleteString delete_sql = "delete from xtb where user_id>4";stmt.execute(delete_sql);// 完成后关闭rs.close();stmt.close();conn.close();} catch (SQLException se) {// 处理 JDBC 错误se.printStackTrace();} catch (Exception e) {// 处理 Class.forName 错误e.printStackTrace();} finally {// 关闭资源if (stmt != null)stmt.close();if (conn != null)conn.close();}System.out.println("jdbc_test_end!");}
}

运行代码,结果如下:

JDBC 操作数据库实例相关推荐

  1. JDBC操作数据库实例

    返回目录:<学生信息管理系统(Java+JSP)> 这里以JDBC操作MySQL数据库为例. 假设有一个名为test的数据库,里面有一张学生表,表名称为student,表结构如下: stu ...

  2. JavaWeb:用JDBC操作数据库

    JDBC系列阅读 JavaWeb:用JDBC操作数据库 JavaWeb:JDBC之事务 JavaWeb:JDBC之数据库连接池 使用JDBC实现水果超市管理系统 1. 什么是JDBC JDBC的全称是 ...

  3. 24、jdbc操作数据库(1)

    什么是jdbc? 看一下官方怎么说,JDBC 英文名Java DataBase Connectivity,使用java连接数据库的工具,就是一组使用java代码来执行SQL语句的API. Jdbc有什 ...

  4. java完整JDBC操作数据库

    java使用JDBC操作数据库的包含以下7个主要步骤: 1.加载JDBC驱动程序 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的 ...

  5. 说说JDBC 操作数据库的步骤?

    分析&回答 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操作结果集. ...

  6. Java数据库开发与应用之MySQL数据库、JDBC操作数据库、C3P0数据库连接池,Java反射等

    MySQL数据库,JDBC接口,MyBatis框架等,掌握的数据的存放和管理. Java数据库开发基础,介绍MySQL数据库.JDBC操作数据库.C3P0数据库连接池,Java反射等内容,进行油画商城 ...

  7. 20.JDBC操作数据库

    目录 1. Java基本介绍 2. JDK下载安装及其环境配置 3. 一个简单的java程序 4. Eclipse基本使用.数据类型.运算符 5. 控制语句(if.switch.for.while.f ...

  8. Java笔记(第七篇 JDBC操作数据库)

    JDBC是连接数据库和java程序的桥梁,通过JDBC API可以方便地实现对各种主流数据库的操作.学习java语言,必须学习JDBC技术,因为JDBC技术实在java语言中被广泛使用的一种操作数据库 ...

  9. php django mysql配置文件_Mysql学习Django+mysql配置与简单操作数据库实例代码

    <Mysql学习Django+mysql配置与简单操作数据库实例代码>要点: 本文介绍了Mysql学习Django+mysql配置与简单操作数据库实例代码,希望对您有用.如果有疑问,可以联 ...

最新文章

  1. DATAGUARD STANDBY 服务器归档日志管理
  2. ubuntu下面的背光键盘的使用
  3. 【CodeForces - 255B】Code Parsing(思维,字符串)
  4. react json转换_Typescript + React 新手篇
  5. 蓝桥杯 基础练习 高精度加法
  6. Google 发布其非 Linux 系操作系统 Fuchsia 说明书!
  7. pythonnumpy详解_Python:Numpy详解
  8. ubuntu循环登录问题的解决
  9. mysql练习----SUM and COUNT/zh图(二)
  10. win10打开计算机出现马赛克,主编处理win10系统播放视频影片出现锯齿、马赛克、模糊的办法?...
  11. 怎样下载安装Firebug和使用Firebug
  12. STM32MP157 三角函数运算花费时间比较
  13. python实现语音机器人聊天
  14. SpringBoot登录验证码实现
  15. caffe源码学习:softmaxWithLoss前向计算
  16. 超详细的WMS仓储管理系统介绍——补货篇
  17. 分布式存储Ceph中的逻辑结构Pool和PG
  18. 大学计算机实践教程在线阅读,第一部分 实验免费阅读_大学计算机基础实践教程免费全文_百度阅读...
  19. Linux内核框架之内核进程
  20. django之数据库操作

热门文章

  1. 洛谷 4382 [八省联考2018]劈配——二分图匹配
  2. 投资探索未来,超级独角兽的梦想,从CTO到CEO
  3. TSA-Net: Tube Self-Attention Network for Action QualityAssessment (论文理解)
  4. 惠普HP photosmart 4400 series 一体机驱动
  5. HTML 中表格table 的相关知识
  6. Scrapy-3:苏宁图书
  7. 图片隐写 安恒ctf_CTF中图片隐写的一些整理总结
  8. 一个不错的看电影的地方
  9. 温度计:不用水银,或者不用易碎玻璃,难道就不行?
  10. Springboot中的context-path (url前缀)