JDBC与JAVA数据库编程

时间:2022-10-11 16:27:27

一、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.加载驱动

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

 Oracle.jdbc.driver.*为包名

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

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

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

 //3.新建statement对象

 Statement st = conn.createStatement();

 //4.执行Sql语句

 String sql = "select * from TEST";

  //接收结果集

 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

 DEMO:

 //问号为占位符

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

 PreparedStatement pre = conn.preparedStatement(Sql);

 Pre.setInt(1,99);

 Pre.setString(2,”asd”);

 Int count = pre.executeUpdate();

  3.事务处理

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

    事务的四个属性:

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

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

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

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

  4.java中的事务操作

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

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

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

JDBC与JAVA数据库编程的更多相关文章

  1. JDBC与Java数据库编程基础

    一.JDBC 概述 1.什么是JDBC 称为Java数据库连接,它是一种用于数据库访问的应用程序API,由一组用Java语言编写的类和接口组成,有了JDBC就可以用同一的语法对多种关系数据库进行访问, ...

  2. 菜鸡的Java笔记 java数据库编程(JDBC)

    java数据库编程(JDBC)        介绍 JDBC 的基本功能            content (内容)        现在几乎所有的项目开发过程之中都不可能离开数据库,所以在java ...

  3. java面向对象下:Java数据库编程

    19.Java数据库编程: JDBC概述:        JDBC(Java Database Connection)是java中提供的一套数据库编程API,它定义了一套用来访问数据库的标准Java类 ...

  4. java数据库编程——读写LOB、可滚动和可更新的结果集、元数据

    java 数据库编程 1. 读写LOB 除了数字.字符串和日期之外,许多数据库还可以存储大对象,例如图片或其它数据.在SQL中,二进制大对象称为BLOB,字符型大对象称为CLOB. 要读取LOB,需要 ...

  5. JAVA数据库编程&lpar;JDBC技术&rpar;-入门笔记

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

  6. Java数据库编程&lpar;JDBC&rpar;

    一.使用Java对数据库的操作步骤: 1.根据应用程序的数据库类型,加载相应的驱动: 2.连接到数据库,得到Connection对象: 3.通过Connection创建Statement对象: 4.使 ...

  7. &lbrack;Java&rsqb; 数据库编程JDBC

    背景 持久化:把Java对象保存在硬盘中 序列化:将对象转换为二进制对象,再保存 保存在关系型数据库中 Object-Relational Mapping(对象-关系映射框架,或ORM框架):把对象属 ...

  8. Java数据库编程、XML解析技术

    数据库编程 JDBC概述 是Java Database Connecive,即数据库连接技术的简称,它提供了连接各种常用数据库的能力. 是一种用于执行SQL语句的Java API,可以为多种关系数据库 ...

  9. java 数据库编程 学习笔记 不断更新

    最近开始学习java,感觉java的数据库编程需要发个随笔记录一下,话不多说 切入正题. 一.数据库访问技术的简介 应用程序  →  执行SQL语句 →数据库 → 检索数据结果 → 应用程序   ( ...

随机推荐

  1. php基础知识

    PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言[脚本在服务器上执行]. PHP 文件能够包含文本.HTML.CSS 以及 PHP 代码,在服务器上的执行结果以纯文本返回浏览器. php可以 ...

  2. 怎么查询局域网内全部电脑IP和mac地址&period;&period;

    在局域网内查询在线主机的IP一般比较简单,但局域网内全部电脑的IP怎么才能够查到呢?查询到IP后我还要知道对方的一些详细信息(如MAC地址.电脑名称等)该怎么查询呢??? 工具/原料 Windows ...

  3. 基础学习总结(八)--Intent中显示意图和隐式意图的用法

    Intent(意图)主要是解决Android应用的各项组件之间的通讯.Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组 ...

  4. 1034-IBM技术俱乐部主席竞选

    描述 今天IBM技术俱乐部举行主席竞选,你的任务是统计谁是得票最多的候选人. 输入 输入数据包含多组测试案例. 每组测试案例由N(0<N<1000)开头,N表示投票总数,后续N行每行包含一 ...

  5. Unity3D 集成 Face&plus;&plus; FacePlusPlus httpClient http协议 byte数组转string

    //開始由于要实现跨平台.考虑过用curl封装c++的dll(android *.so)的方式,在c#Dllimport实现 //后来发现Unity3D本身支持http协议.且face++的api都是 ...

  6. 代码的完整性:打印1到最大的n位数

    输入数字n,按顺序打印出从1到最大的n位十进制数. 比如,输入3,则打印出1,2,3,.....,一直到最大的3位数即999. 全排列打印 public class Main { public sta ...

  7. angluar1&plus;ionic详情页返回在原来的位置(缓存数据和页面高度)

    因为是老项目,近期开发遇到了个需求就是从详情页按返回按钮要求返回到原来列表的页面位置,刚开始准备用的cache:true,但是存在大大的问题就是新增和编辑后返回数据都不是最新的,无法重新刷新页面rel ...

  8. bat如何创建多级文件夹&lpar;在android设备中&rpar;

    在android设备中要创建多个或者多级文件夹时,手动去创建费时费力(有点傻),一个bat文件就能很好的实现这个功能. 1.首先创建同级多个文件夹且在该文件夹下生成一个文件 @echo off ech ...

  9. &lbrack;Python 从入门到放弃&rsqb; 1&period; 列表的基本操作

    ''' 列表 Create By 阅后即焚 On 2018.1.29 ''' 1. 列表的定义 列表看起来好像其它编程语言中的数组,但列表具备更加强大的功能,它是Python完备的集合对象,现在,你可 ...

  10. 【剑指offer】数值的整数次方

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/mmc_maodun/article/details/25506085 转载请注明出处:http:// ...