定义:JDBC是一个独立于数据库管理系统的,通用的SQL数据库存取和操作的公共接口

    (由JAVA类和接口组成,接口由各数据库厂家负责实现)

使用方法:

1、加载驱动  Class.forName(“数据库驱动全类名”)

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

2、获取连接  DriverManager.getConnection(连接数据库的URL,数据库账号,数据库密码)

例:(链接本机数据库)

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "账号", "密码");

(连接数据库的URL为  jdbc:oracle:thin:@地址:1521:数据库名)

(都会返回  Connection)

DatabaseMetaData a = conn.getMetaData()  数据库源数据

  getMetaData()  返回数据库源数据

3、获取操作声明  

Statement a = conn.createStatement();

a.executeUpdate(“增删改语句”)  (添加和修改时返回的是受影响的记录条数)

a.executeQuery(“查询语句”)  (返回 ResultSet 结果集)

PreparedStatement   执行编译语句的操作声明

特点  是Statement的子类,执行效率高,防止SQL注入

用法  connection 对象.prepareStatement(sql语句)   sql语句可以用问号作为占位符

    替换占位符   setXXX(占位符序号,替换的内容)  根据XXX的数据类型和占位符序号进行内容替换(占位符序号从1开始)

CallableStatement  执行存储过程的操作声明

是PreparedStatement的子接口

4、处理结果集

ResultSet a = b.executeQuery(“查询语句”);

遍历

while(a.next()){

String sno = a.getString("sno");
String cno = a.getString("cno");
String degree = a.getString("degree");
System.out.println(cno+" "+cno+" "+degree);
}

ResultSetMetaData a = b.getMetaData()  返回结果集的源数据

next()  判断并返回是否存在下一行,如果存在就跳转到下一行

getXXXX(字段序号或字段名称)  根据字段序号或字段名称返回XXXX类型的字段数据

frist()  跳转到首行

last()  跳转到尾行

getRow()  获取当前行号

5、事务  数据库中构成单个逻辑工作单元的操作集合

特性ACID  A原子性

       C一致性

       I隔离性

       D制约性

实现  connection对象.setAutoCommit(false)  关闭自动提交

    connection对象.commit()  操作数据之后进行提交

    connection对象.rollback()  如果有数据异常就回滚

6、数据库连接池  负责分配、管理和释放数据库连接

           允许应用程序使用现有的连接

  ComboPooledDataSource 数据源  构造方法  ComboPooledDataSource()

                          ComboPooledDataSource(“配置名称”)  通过配置文件配置项构建数据源的实例

                                                c3p0-config.xml

  方法  setDriverClass  设置驱动类

      setJdbcUrl  设置数据库地址

      setUser  设置用户

      setPassword  设置密码

      setMinPoolSize  设置链接最小数量

      setMaxPoolSize  设置链接最大数量

      setInitialPoolSize  设置初始连接数量

      getConnection  获取链接对象

  用法  可以使用单例模式,在整个系统使用一个连接池

7、实体类

      

JDBC-java访问数据库的更多相关文章

  1. JDBC API访问数据库的基本步骤。

    JDBC本质:官方定义了一套操作所有关系型数据库的规则(接口),各个数据库厂商实现这个接口,提供数据库驱动jar包. 我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类. 任 ...

  2. JavaSE学习总结(九)—— Java访问数据库(JDBC)

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

  3. oracle 事务简介,锁的概念,java访问数据库注意事项

    java链接oracle和连接其他数据库一样有两种方式:1 桥接 jdbc-obdc2 jbdc insert语句一次插入大量数据 insert into table (列1,列2,列3) selec ...

  4. Java访问数据库Mysql

    一.概述 本文主要介绍Java接连数据库的基本方法和步骤,并对其中的几个要点进行简要说明. 二.数据库访问步骤 在Java中连接数据库进行的访问主要有以下几个步骤: 加载数据库驱动 注册数据库驱动 建 ...

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

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

  6. 通过JDBC API访问数据库的基本步骤

    1.获取要访问的数据库的JDBC驱动程序的类库文件,把它放到classpath中. 2.在程序中加载并注册JDBC驱动程序.例如,以下代码用于加载并注册MySQL驱动程序: //加载MySQL Dri ...

  7. java 访问数据库公共类

    package com.javaweb.mvc; import java.sql.*; /** * @author 公共数据访问类 * * Statement 和 PreparedStatement之 ...

  8. java 访问数据库

    Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);//依据不同数据库,加载不同驱动 String url = “jdbc:sq ...

  9. jdbc java程序连接数据库 案例

    package jdbc; import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException; ...

  10. 三国武将查询系统 //Java 访问 数据库

    import java.awt.*; import javax.swing.*; import java.awt.event.ActionListener; import java.awt.event ...

随机推荐

  1. Codeforces Round #200 (Div. 2) E. Read Time(二分)

    题目链接 这题,关键不是二分,而是如果在t的时间内,将n个头,刷完这m个磁盘. 看了一下题解,完全不知怎么弄.用一个指针从pre,枚举m,讨论一下.只需考虑,每一个磁盘是从右边的头,刷过来的(左边来的 ...

  2. 【bzoj3160】万径人踪灭 FFT

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3160 我是一个傻叉 微笑脸 #include<bits/stdc++.h> #de ...

  3. mvc2 To 4

    asp.net mvc2新特性:1.区域,有利于分模块开发 2.数据注解和验证 3.View层强类型辅助方法 4.UI Templates 5.httppost,默认参数asp.net mvc3新特性 ...

  4. flex的http URL转码与解码

    private function httpEncoding(param:String):String{    //转码     return encodeURIComponent(param); } ...

  5. 一个网页抓取的类支持get+post+cookie存储

    前段时间提取了一个工具类,分享给大家: <?php class httpconnector { private $curl; private $cookie; private $kv; func ...

  6. [LintCode] Segment Tree Build 建立线段树

    The structure of Segment Tree is a binary tree which each node has two attributes start and end deno ...

  7. java.lang.StringBuilder

    1.StringBuilder 的对象和 String 的对象类似,并且 StringBuilder 的对象能被修改.Internally,这个对象被当做一个包含一系列字符的可变长度的数组对待.这个序 ...

  8. c# winform进入窗口后在文本框里的默认焦点

    c# winform 设置winform进入窗口后在文本框里的默认焦点   进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex 把该文本框属性里的tabIndex设为0,焦点就默认在这 ...

  9. linux笔记七---------管道

    smarty的变量调节器就是linux的管道 管道:前者的输出是后者的输入 {$name|upper}   通过调节器使得名字变为大写输出 {$name|lower} linux的管道: ls –al ...

  10. phpweb漏洞合集

    admin' or '1'='1 万能密码 inurl:/class/?1.html inurl:webmall/query.php?typeid=?inurl:shop/class/?226.htm ...