定义: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. 【BZOJ3207】花神的嘲讽计划I 可持久化线段树/莫队

    看到题目就可以想到hash 然后很自然的联想到可持久化权值线段树 WA:base取了偶数 这道题还可以用莫队做,比线段树快一些 可持久化线段树: #include<bits/stdc++.h&g ...

  2. 深入浅出 - Android系统移植与平台开发(八)- HAL Stub框架分析

    作者:唐老师,华清远见嵌入式学院讲师. 1. HAL Stub框架分析 HAL stub的框架比较简单,三个结构体.两个常量.一个函数,简称321架构,它的定义在:@hardware/libhardw ...

  3. python算法——第四天

    一.递归 def func(num): if num / 2 > 0: num -= 1 print(num) num = func(num) print('quit') return num ...

  4. 在mapreduce中做分布式缓存的问题

    一.问题描述: 主要解决一个问题,就是两个表做join,两个表都够大,单个表都无法装入内存. 怎么做呢?思路就是对做join的字段做排序两个表都排序,然后针对一个表a逐行读取,希望能够在内存中加载到另 ...

  5. php标签云制作——数据表的结构和查询方法

    1.数据表的结构: 创建建两张数据表,结构如下: 标签tag表: 文章mood表: 其中mood表中的tag字段,以tag表的id字段+“,”+tag表的id字段, 2.查询方法: 例如:如果需要某篇 ...

  6. 数位DP bzoj1026

    1026: [SCOI2009]windy数 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 5809  Solved: 2589[Submit][Sta ...

  7. 获取到body的offsetTop和offsetLeft值

    function offsetTL(obj){//获取到body的offsetTop和offsetLeft var t=0,l=0; while(obj){ t=t+obj.offsetTop; l= ...

  8. 关于在VS 上发布网站

    在vs 上建立的网站只能用 localhost 进行访问,想要自己本机上的网站发布到IIS上面,这样就可以直接用 IP 地址来访问了,那么照如下的方式做: 1. 首先需要使用vs 发布自己的网站 1. ...

  9. 安装时遇到:正在尝试其它镜像。 http://mirrors.btte.net/centos/7.2.1511/extras/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirrors.btte.net; 未知的错误"

    我出现这种错误是因为网络链接问题,因为我设置虚拟机网络链接为VmNET8,设置了nat模式,使得我本地机可以访问虚拟机的linux服务器.但是打开虚拟机的浏览器却不能上网了.所以现在我用xshell装 ...

  10. java四种内部类详解

    一般来说,有4中内部类:常规内部类.静态内部类.局部内部类.匿名内部类. 一.常规内部类:常规内部类没有用static修饰且定义在在外部类类体中.   1.常规内部类中的方法可以直接使用外部类的实例变 ...