什么是 JDBC:

• JDBC(Java DataBase Connectivity)java 数据库连接

• 是 JavaEE 平台下的技术规范

• 定义了在 Java 语言中连接数据,执行 SQL 语句的标准

• 可以为多种关系数据库提供统一访问

什么是数据库驱动程序:

• 数据库厂商对 JDBC 规范的具体实现

• 不同数据产品的数据库驱动名字有差异

• 在程序中需要依赖数据库驱动来完成对数据库的操作

程序操作数据库流程:

Driver 接口:

Driver 接口的作用是来定义数据库驱动对象应该具备的一些能力。比如与数据库建立连接的方法的定义所有支持 java 语言连接的数据库都实现了该接口,实现该接口的类我们称之为数据库驱动类。在程序中要连接数据库,必须先通过 JDK 的反射机制加载数据库驱动类,将其实例化。不同的数据库驱动类的类名有区别。

加载 MySql 驱动:Class.forName("com.mysql.jdbc.Driver");

加载 Oracle 驱动:Class.forName("oracle.jdbc.driver.OracleDriver");

DriverManager 类:

DriverManager 通过实例化的数据库驱动对象,能够建立应用程序与数据库之间建立连 接。并返回 Connection 接口类型的数据库连接对象。

常用方法:

• getConnection(String jdbcUrl, String user, String password)该方法通过访问数据库的 url、用户以及密码,返回对应的数据库的 Connection 对象。

Connection 接口 :

Connection 与数据库的连接(会话)对象。我们可以通过该对象执行 sql 语句并返回结果。

连接 MySql 数据库:

Connection conn = DriverManager.getConnection("jdbc:mysql://host:port/database", "user", "password");

连接 Oracle 数据库:

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@host:port:database","user", "password");

连接 SqlServer 数据库:

Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://host:port;DatabaseName=database", "user", "password");

常用方法:

• createStatement():创建向数据库发送 sql 的 Statement 接口类型的对象。

• preparedStatement(sql) :创建向数据库发送预编译 sql 的 PrepareSatement 接口类型的对象。

• prepareCall(sql):创建执行存储过程的 CallableStatement 接口类型的对象。

• setAutoCommit(boolean autoCommit):设置事务是否自动提交。

• commit() :在链接上提交事务。

• rollback() :在此链接上回滚事务。

Statement 接口:

用于执行静态 SQL 语句并返回它所生成结果的对象。由 createStatement 创建,用于发送简单的 SQL 语句(不支持动态绑定)。

常用方法:

• execute(String sql):执行参数中的 SQL,返回是否有结果集。

• executeQuery(String sql):运行 select 语句,返回 ResultSet 结果集。

• executeUpdate(String sql):运行 insert/update/delete 操作,返回更新的行数。

• addBatch(String sql) :把多条 sql 语句放到一个批处理中。

• executeBatch():向数据库发送一批 sql 语句执行。

PreparedStatement 接口

继承自 Statement 接口,由 preparedStatement 创建,用于发送含有一个或多个参数的 SQL语句。PreparedStatement 对象比 Statement 对象的效率更高,并且可以防止 SQL 注入,所以我们一般都使用 PreparedStatement。

常用方法

• addBatch()把当前 sql 语句加入到一个批处理中。

• execute() 执行当前 SQL,返回个 boolean 值

• executeUpdate()运行 insert/update/delete 操作,返回更新的行数。

• executeQuery() 执行当前的查询,返回一个结果集对象

• setDate(int parameterIndex, Date x)向当前SQL语句中的指定位置绑定一个java.sql.Date值。

• setDouble(int parameterIndex, double x)向当前 SQL 语句中的指定位置绑定一个 double值

• setFloat(int parameterIndex, float x)向当前 SQL 语句中的指定位置绑定一个 float 值

• setInt(int parameterIndex, int x)向当前 SQL 语句中的指定位置绑定一个 int 值

• setString(int parameterIndex, String x)向当前 SQL 语句中的指定位置绑定一个 String 值

 ResultSet 接口

ResultSet 提供检索不同类型字段的方法。

常用方法:

• getString(int index)、getString(String columnName)

获得在数据库里是 varchar、char 等类型的数据对象。

• getFloat(int index)、getFloat(String columnName)

获得在数据库里是 Float 类型的数据对象。

• getDate(int index)、getDate(String columnName)

获得在数据库里是 Date 类型的数据。

• getBoolean(int index)、getBoolean(String columnName)

获得在数据库里是 Boolean 类型的数据。

• getObject(int index)、getObject(String columnName)

获取在数据库里任意类型的数据。

ResultSet 对结果集进行滚动的方法

• next():移动到下一行。

• Previous():移动到前一行。

• absolute(int row):移动到指定行。

• beforeFirst():移动 resultSet 的最前面。

• afterLast() :移动到 resultSet 的最后面。

 CallableStatement 接口

继承自 PreparedStatement 接口,由方法 prepareCall 创建,用于调用数据库的存储过程。

JDBC 的使用 :

加载数据库驱动程序 → 建立数据库连接 Connection → 创建执行 SQL 的语句Statement → 处理执行结果 ResultSet → 释放资源

注册驱动:

Class.forName("com.mysql.jdbc.Driver");

获取连接:

Connection conn =DriverManager.getConnection("jdbc:mysql://localhost: 3306/bjsxt?useUnicode=true&characterEncoding=utf-8", "root", "root");

执行 SQL

String sql="insert into departments values(default,'"+department_name+"'"+location_id+")" ; Statement state = conn.createStatement();

释放资源:

if(state != null){ try { state.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }if(conn != null){ try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }

JDBC技术对数据库进行操作的更多相关文章

  1. 使用原生JDBC方式对数据库进行操作

    使用原生JDBC方式对数据库进行操作,包括六个步骤: 1.加载JDBC驱动程序 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM.可以通过java.lang.Class类的静态方法forNa ...

  2. JDBC增删改数据库的操作

    JDBC入门及简单增删改数据库的操作 一.JDBC的引入 1.JDBC的概念 JDBC:Java Database Connection,表示数据库连接(任何数据库都支持JDBC的连接),是一个独立于 ...

  3. jdbc连接远程数据库进行操作

    链接远程数据库的时候,要把获得链接的url进行修改 1 package com.test; import java.sql.Connection; import java.sql.DriverMana ...

  4. server用JDBC对mysql数据库进行操作

    1:获取数据库连接 Connection connection=getConnection(); 2:准备SQL语句 3:调用Connection的creatStatement()方法获取Statem ...

  5. JAVA数据库编程(JDBC技术)-入门笔记

    本菜鸟才介入Java,我现在不急着去看那些基本的语法或者一些Java里面的版本的特征或者是一些晋级的知识,因为有一点.Net的OOP编程思想,所以对于Java的这些语法以及什么的在用到的时候在去发现学 ...

  6. 2017.11.12 web中JDBC 方式访问数据库的技术

    JavaWeb------ 第四章 JDBC数据库访问技术 在JavaWeb应用程序中数据库访问是通过Java数据库连接(JavaDateBase Connectivity简称JDBC)数据库的链接一 ...

  7. MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. Java通过JDBC 进行MySQL数据库操作

    转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...

  9. Java java jdbc thin远程连接并操作Oracle数据库

    JAVA jdbc thin远程连接并操作Oracle数据库 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 编码工具:Eclipse 编码平台:W ...

随机推荐

  1. mysql去重查询表中数据

    1.distinct select count(distinct CName) from teble select count(CName) from (select distinct CName f ...

  2. 浅析ORACLE中NVL/NVL2/DECODE/CASE WHEN的用法

    使用NVL的时候只能对值进行是否为空的判断,基本语法是NVL( 值1, ,结果2).它的功能是如果值1为空,则此函数返回结果2,不为空的话直接输出值1(如果两个参数都为空,那么还是返回空): NVL2 ...

  3. PHP实现微信企业付款到个人零钱步骤

    微信支付企业付款到零钱功能应用广泛,比如微信红包奖励,业务结算等.通过企业向个人付款,付款资金将直接进入用户微信零钱. 一 开通条件 ​ 付款资金 企业付款到零钱资金使用商户号余额资金. 根据商户号的 ...

  4. [ISE调试] 在ISE调试过程中,遇到过的error以及消除办法

    1.Incompatible IOB's are locked to the same bank 15,具体如右图, 于是去查引脚配置,发现 也就是说,在bank=15的这组IO里面,我既选了LVAM ...

  5. centos7 编译安装 php7.3.11

    1.安装依赖 yum install -y libxml2 *openssl* libcurl* libjpeg* libpng* freetype* libmcrypt* gcc gcc-c++ 2 ...

  6. list,tuple,dict,set 思维导图整理

  7. img标签不能直接作为body的子元素

    前几天在一本教材上看到关于HTML标签嵌套规则一节的时候,看到这么一句话,“把图像作为body元素的子元素直接插入到页面中,这样是不妥的,一是结构嵌套有误,二是图像控制不方便.”后面还给了一段代码演示 ...

  8. 都是为了生活组——‘’都是为了吃饭”微信小程序评价

    基于NABCD评论作品,及改进建议 1.根据NABCD评论,作品的选题 N(Need,需求) 纠结症是目前在年轻人身上普遍存在着的问题,食堂食物众多,每次在吃饭前都要纠结好久,大大浪费了时间,还容易产 ...

  9. 性能测试——记weblogic 连接池满无法链接故障诊断过程

    记weblogic 连接池满无法链接故障诊断过程 前段时间公司负责建行的一个票据系统在,上线前几个分行试运行环境下,每天后台日志都会报oracle.jdbc.xa.OracleXAException, ...

  10. 人生若只如初见---Spring概述以及环境的搭建

    Spring 是什么 Spring是由Apache开发的一种轻量型Java框架,能够更加便捷使用JavaBean(之前只有EJB才能实现) Spring的主要优势:分层架构: DAO层:(Data A ...