定义: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. JS 弹出模态窗口解决方案

    最近在项目中使用弹出模态窗口,功能要求: (1)模态窗口选择项目 (2)支持选择返回事件处理 在IE中有showModalDialog 方法,可以很好的解决该问题,但是在Chrome中和FF中就有问题 ...

  2. ios修改产品名

    在创建项目的时候,会设置一个项目名,以后生成的APP名字也就是这个了,但由于某种原因,我想修改APP名字,也就是屏幕程序图标下面显示的那个,这该怎么办呢? 下面有三种方法都可以: 修改Product ...

  3. kinderEditor + Struts2整合

    环境: kinderEditor4.1.5 Struts2.3.5 Spring3.0.5 Hibernate3.6 代码: FileManageAction package com.hcsoft.p ...

  4. 【android】新手容易遇到的[error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'.]Theme出错的问题

    一.概述 近期刚接手了一个项目,开发工具为eclipse,由于版本较低,且考虑到如果转android studio项目的话,会其他人的维护带来困难,所以想着还是维护项目原来的开发环境吧. 但是导入项目 ...

  5. [LintCode] Decode Ways 解码方法

    A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...

  6. JAVA List<> 合并去重

    List<A>和List<B>,A/B中均没有重复的,现在保证A/B合并为C,且C中没有重复的. 参考http://blog.csdn.net/secondjanuary/ar ...

  7. cmd 更改字体

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont,在右面找到936值双击打开,数 ...

  8. Js变量定义——fn里 var与不var的区别

    js运行时内置了一个Global对象. 这个Global对象跟运行环境有关.在浏览器运行环境中.Global就是window对象.在nodejs中.Global对象是global对象. 当你在浏览器环 ...

  9. 全选,不选,反选 jquery

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. poj1700

    这题的最坑的地方就是每步可能会有两种情况,这两情况起初我都单独考虑了,但就是没放在一起考虑...wa个不停,果然贪心是一个很考验思维的东西. 这里可以这样考虑,在运人的过程中,河的起始岸最后终将剩下一 ...