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 驱动名 及数据库 URL
static 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类装载进jvm
Class.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");
}
//更新update
String update_sql = "update xtb set user_name=\"jerry\",user_phone =\"0123\" where user_id>4";
stmt.execute(update_sql); //增加insert
String inset_sql = "insert into xtb (user_name, user_sex, user_phone) values(\"jom\", \"nan\", \"123864979\")";
int i = stmt.executeUpdate(inset_sql); //删除 delete
String 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操作数据库实例

    jdbc操作数据库实例 1.jdbc创建数据库 1.1 前提条件 1.拥有创建和删除表的权限 2.数据库已经启动,且可用 1.2 jdbc创建数据库表的步骤: 导包:导入需要进行数据库编程的 JDBC ...

  2. JDBC操作数据库的三种方式比较

    JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL. ...

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

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

  4. JDBC操作数据库的基本操作

    JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操 ...

  5. 用于JDBC操作数据库的公共类

    /* * @(#)CommonSql.java 2011-9-5 * * Copyright 2011 Bianjing,All rights reserved. */ import java.sql ...

  6. JDBC操作数据库的学习(2)

    在上一篇博客<JDBC操作数据库的学习(1)>中通过对例1,我们已经学习了一个Java应用如何在程序中通过JDBC操作数据库的步骤流程,当然我们也说过这样的例子是无法在实际开发中使用的,本 ...

  7. JDBC操作数据库的学习(1)

    单单对数据库的操作,比如说MySQL,我们可以在命令行窗口中执行,但是一般是应用程序要操作数据库,因此我们应该在程序中的代码上体现对数据库的操作,那么使用程序应用如何操作数据库呢?那就要使用到数据库的 ...

  8. Spark Streaming通过JDBC操作数据库

    本文记录了学习使用Spark Streaming通过JDBC操作数据库的过程,源数据从Kafka中读取. Kafka从0.10版本提供了一种新的消费者API,和0.8不同,因此Spark Stream ...

  9. JDBC操作数据库的基本步骤:

    JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操 ...

随机推荐

  1. html--伪等高布局

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  2. thinkphp 视图定义

    视图定义 视图通常是指数据库的视图,视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的 ...

  3. ArrayList去除重复元素(多种方法实现)

    package other; import java.util.ArrayList; import java.util.HashSet; public class test4 { public sta ...

  4. 「题解」:07.18NOIP模拟赛T1:星际旅行

    问题 A: 星际旅行 时间限制: 1 Sec  内存限制: 256 MB 题面 题面谢绝公开. 考试心路历程 拿到这道题感觉很懵逼,所以先搞的T2和T3,最后码了个暴力,结果还不如直接输出‘0’得分高 ...

  5. C++ Builder获取系统文件的路径

    取得路径的程序:(注意红色字体,由于博客显示问题,所以中间加了空格,大家自己把空格去掉即可) // -------------------------------------------------- ...

  6. coreseek 基与Sphinx 的全文索引

    假设有两张那个表,分别为articles,article_photos两张表.搜索的时候,要匹配articles.title.articles.intro.article_photos.caption ...

  7. php面向对象的初认识

    面向对象的基本概念 面向对象的三大特征:继承 封装 多态 类和对象: 类是一个抽象的概念 对象是一个具体的实例 张三是一个对象,李四也是一个对象.王五同样是一个对象..... 他们都隶属于“人”这个“ ...

  8. Useradd- Linux必学的60个命令

    1.作用 useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. 2.格式 useradd [-d home] [-s shell] [-c comment] [-m [-k t ...

  9. Leetcode139. Word Break单词拆分

    给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词. 说明: 拆分时可以重复使用字典中的单词. 你可以假设字典中没有重复 ...

  10. 2.Spring【DI】XML方式

    依赖: 在A类中引用了B类,说明A依赖于B. 注入: 使用Spring框架给A类中的B对象的属性赋值. 直接上代码: 1.只使用IOC public class Person { private St ...