JDBC与JAVA数据库编程

一、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:@<主机名或ip>:端口号:<数据库名>

    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();//事务的回滚

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏好好学java的技术栈

jdbc就是这么简单

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问...

10930
来自专栏java思维导图

教你88秒插入1000万条数据到mysql数据库表

其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下:

20340
来自专栏信安之路

IAT 三连之什么是 IAT?

IAT 的全称是 ImportAddress Table。在可执行文件中使用其他 DLL 可执行文件的代码或数据,称为导入或者输入,当 PE 文件载入内存时,w...

13500
来自专栏有趣的django

Django+Bootstrap+Mysql 搭建个人博客 (六)

85320
来自专栏Ryan Miao

Java Web基础入门

前言 语言都是相通的,只要搞清楚概念后就可以编写代码了。而概念是需要学习成本的。 Java基础 不用看《编程思想》,基础语法看 http://www.runo...

41770
来自专栏java学习

java链接数据库简单教程(JDBC)

Java基础 | 数据库 | Android | 学习视频 | 学习资料下载 ★回复【数据库工具】获取数据库安装包以及安装视频教程链接 注:(本文以连接orac...

41560
来自专栏Java编程技术

MyBatis中使用流式查询避免数据量过大导致OOM

其中fetchSize="-2147483648",Integer.MIN_VALUE=-2147483648

68110
来自专栏技术小讲堂

Entity Framework4.3 Code-First基于代码的数据迁移讲解1.建立一个最初的模型和数据库   2.启动Migration(数据迁移)3.第一个数据迁移4.订制的数据迁移4.动态

前段时间一直在研究Entity Framework4,但是苦于没有找到我特别中意的教程,要么就是千篇一律的文章,而且写的特别简单,可以说,糟践了微软这么牛埃克斯...

35180
来自专栏c#开发者

利用JDBC对数据库的增删查改

   在本节中,我们将通过一个示例说明如何利用JDBC对数据库进行增删查改等各种操作,以及怎样对结果集中的数据进行处理。     我们假设现在数据库中有一张...

37380
来自专栏Flutter&Dart

DartVM服务器开发(第十七天)--Jaguar_websocket结合Flutter搭建简单聊天室

我们这里定义了一个ChatMessageData,如果你想需要更多字段,可以再添加

80110

扫码关注云+社区

领取腾讯云代金券