一、JDBC的概念

1、 JDBC (Java DataBase Connectivity) Java数据库连接

a) 主要提供java数据库应用程序的API支持

2、 JDBC的主要功能

a) 创建和管理与数据源的连接

b) 发送SQL数据命令到数据源

c) 提取并处理由数据源返回的结果集

3、 JDBC可分为两层

a) 驱动程序管理接口

b) JDBC API

4、 Java.sql包中定义的常用基本的JDBC API

a) 类DriverManager:管理一组JDBC驱动程序的基本服务

b) 接口Connection:获得与数据库的连接

c) 接口Statement:用于执行静态的SQL语句,并返回生成的结果集对象

d) 接口ResultSet:表示数据库结果集的数据表,通常执行查询数据库的语句生成

e) 类SQLException:有关数据库的异常操作

二、JDBC的基础应用

1、编写JDBC应用程序的基本步骤

a) 导入JDBC的包或包括JDBC的包

构建路径(Building Path)-> 配置路径

(b)加载JDBC驱动

1 //1.加载驱动

2

3 Class.forName("oracle.jdbc.driver.OracleDriver");4

5 Oracle.jdbc.driver.*为包名

(c)建立与数据库的连接

1 Connection conn = DriverManager.getConnection(url, user, password);

(d)执行SQL语句,与数据库交互

1 //3.新建statement对象

2

3 Statement st =conn.createStatement();4

5 //4.执行Sql语句

6

7 String sql = "select * from TEST";8

9 //接收结果集

10

11 ResultSet rs = st.executeQuery(sql);

(e)关闭建立的连接

各种关闭

2.实例

a.加载驱动程序

Class类中提供加载驱动的方法

Public static Class forName(String className)

Throws ClassNotFoundException

Oracle驱动类的描述符为:oracle.jdbc.driver.OracleDriver

b.建立数据库的连接

DriverManager提供了getConnection方法可获得指定数据库的连接对象(Connecting conn):

Public static Connectioin getConnection(String url, String username, String pwd )throws SQLException

Oracle数据库的url格式为:

Jdbc:oracle:thin:@:端口号:

c.获得Statement 对象(Statement st)

Connection类中提供获得Statement对象的方法

Statement getStatement() throws SQLException

d.Statement类中提供可执行SQL命令的方法

Boolean execute(String SQL) throws SQLException

Result executeQuery(String SQL) throws SQLException

Int executeUpdate(String SQL) throws SQLException

e.ResultSet 可提供对结果集操作的方法

移动结果集操作指针

Boolean next() throws SQLException

由字段名获取其值

String getString(String columeName) throws SQLException

三:JDBC的高级应用

1.PreparedStatement接口是Statement的子接口,允许使用不同的参数多次使用同一个SQL语句

2.Connection接口提供了创建PreparedStatement对象的方法,可指定SQL语句

PreparedStatement preparedStatement(String Sql) throws SQLException

1 DEMO:2

3 //问号为占位符

4

5 String Sql = “insert into tableName values(?,?)”6

7 PreparedStatement pre =conn.preparedStatement(Sql);8

9 Pre.setInt(1,99);10

11 Pre.setString(2,”asd”);12

13 Int count = pre.executeUpdate();

3.事务处理

事务:是由相关的SQL操作构成的一个完整的操作单元,该单元作为一个整体来使用要么全做要么不做

事务的四个属性:

原子性:要么全做,要么全不做

一致性:事务使数据从一个一致性状态大另一个一致性状态

持久性:事务对数据库的操作时永久的

隔离性:一个事务的操作不影响其他事务的操作即事务与事务之间是独立的

4.java中的事务操作

Conn.setAutoCommit(false)//取消事务的自动提交

Conn.commit();//事务的提交

Conn.rollback();//事务的回滚

jdbc与java数据库编程_JDBC与JAVA数据库编程相关推荐

  1. 01500105_MLDN-魔乐科技-李兴华【Java核心技术】_JDBC连接Oracle数据库

    注明本链接博客为李兴华老师 http://blog.sina.com.cn/ownmldn 前一篇:01500105_MLDN-魔乐科技-李兴华[Java核心技术]_JDBC连接Oracle数据库 后 ...

  2. jdbc mysql 存储过程查询数据_JDBC连接(MySql)数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能。...

    主要内容: JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十一 ...

  3. jdbc mysql查询显示图片_JDBC【向数据库中存入读取图片】

    JDBC-向数据库中存入读取图片 注:此代码依赖自定义的数据库连接工具类 1.向数据库存入一张照片 import java.io.File; import java.io.FileInputStrea ...

  4. java操作mysql数据库实例_jdbc操作mysql数据库实例

    本文实例讲述了jdbc操作mysql数据库的方法.分享给大家供大家参考.具体如下: import java.sql.*; import java.sql.drivermanager; import j ...

  5. jdbc连接数据库mysql的问题_JDBC连接Mysql数据库出现的问题汇总

    最近安装了一个 mysql 8.0 版本的数据库,在程序中连接的时候可谓是状况不断.之前也会遇到一些问题,这里就对使用 JDBC 连接 mysql 会出现的问题做一个汇总. 在此之前说明一下环境: 开 ...

  6. access可以连接mysql数据库吗_JDBC连接Access数据库的几种方式介绍

    接下来总结一下常用的几种连接方式. 例如有如下的Access数据库student,表basic,以及6条记录,现在通过几种方式在Jsp中将他们的数据显示出来.如图所示: 对于几种连接Access数据库 ...

  7. 本地mysql拒绝jdbc连接失败_jdbc连接MySQL数据库的诡异异常 java.net.ConnectException: 拒绝连接...

    今天遇到一个很诡异的异常,查了很多资料都没有解决. 用JDBC连接数据库的时候出现以下异常 @Test public void test() { try { Class.forName("c ...

  8. java怎么复制别人的数据库_java-如何在不使用Apache DDLUtils的情况下使用JDBC将模式从一个数据库复制到另一个数据库?...

    我在MySQL中有一个数据库,我想以编程方式在FileMaker Pro中创建所有相同的表和字段.我可以使用JDBC自己完成此操作,但我希望已经有了可以执行此操作的库. 我研究了来自Apache的DD ...

  9. Java学习系列(十九)Java面向对象之数据库编程

    JDBC(Java Data Base Connectivity:java数据库连接):它定义了一组标准的操作数据库的接口,既然是接口,那它就是一种规范,是Java操作数据库的技术规范. Java数据 ...

最新文章

  1. GCC 链接 xxx:No such file or directory 及运行可执行文件 error while loading shared libraries: xxx.so 解决方案
  2. mysql navicat导入bcp_SQL Server中BCP导入导出用法详解
  3. com 对象与其基础 rcw 分开后就不能再使用_如何使用 Kubeflow 机器学习流水线
  4. JS中函数和变量声明的提升
  5. ssh 脚本 空格字符转换
  6. maccmsv10 苹果cms10 站群扩展 自用版
  7. 接口测试工具ApiPost 发送报 socket hangup 的解决方案
  8. [转载] java中对象作为参数传递给一个方法,到底是值传递,还是引用传递
  9. 图解sql内外连接和左连接left join和右连接right join
  10. CATIA V6 二次开发—概述
  11. SSL基础:27:支持https的Nginx镜像(Alpine版)
  12. Android程序员简历
  13. CAD快速打印(批量打印)PDF/DWF/JPG/PNG\EPS/PLT:任意尺寸、纯命令
  14. C# worksheet设置Excel样式(转载)
  15. MMO游戏服务器从零开发(架构篇)
  16. 罗尔定理、拉格朗日中值定理和柯西中值定理和用他们证明不等式、
  17. win10开启自带的手机投屏功能方式
  18. 一文总结经典卷积神经网络CNN模型
  19. 微信小程序电商项目开发实战漫谈
  20. 根据两个经纬度点计算距离

热门文章

  1. Java —— eclipse.zip
  2. C++数据结构04--顺序栈的实现
  3. Cilium:BPF和XDP参考指南
  4. DPDK examples cmdline完全注释(添加quit功能)
  5. 5 个鲜为人知 GNU 调试器(GDB)技巧 | Linux 中国
  6. linux内核模块的编译文件
  7. python抓取数据包_利用python-pypcap抓取带VLAN标签的数据包方法
  8. oracle19c二次安装报错,Windows10安装Oracle19c数据库详细记录(图文详解)
  9. gcc操作mysql 建表_用gcc批量建mysql库表
  10. ie浏览器框架不显示_thinkphp框架下后台验证码不显示