JDBC-----基础--Java如何连接oracle

JDBC课程目标:
1、设计一个多层数据库应用程序体系结构
2、建立一个多层次的数据库应用程序利用Java编程语言内容
和JDBC1.0的API
3、面对对象中关系数据库设计
4、 介绍JDBC2.0的api以及JDBC的新功能

课程主要内容:
1、JDBC的概述

2、JDBC的使用

3、OOAD和数据库的设计

4、 JDBC的高级部分


1、JDBC的概述
1)、ODBC(开放式数据库互连)
微软、C语言写

2)、JDBC(Java数据库连接)
SUN、纯Java语言编写

JDBC连接方式:
1、JDBC-ODBC桥驱动及ODBC驱动程序
    优点:
      只需要客户端安装对应的ODBC驱动
    缺点:
    1、执行效率低,不适合大数据量连接;
    2、必须在客户端安装ODBC驱动。

2、本地API部分Java驱动程序
    实现:1、安装Java驱动程序
      2、安装数据库的客户端
3、JDBC-Net 纯Java驱动程序  oci
优点:可以适用于网络连接;
缺点:多一个中间件
4、本地协议纯Java驱动程序    thin
优点:速度快、网络连接
缺点:根据不同的数据库加载不同的数据库驱动。

1995年SUN公司JavaONE大会
1、采用C语言开发的,指针
2、ODBC配置比较复杂,不适合Java语言的特性;
3、JDBC-ODBC桥驱动大部分只适合测试,并不能进行产品操作。

2、JDBC的使用
   使用java.sql:主要是进行数据库连接的基本操作;
       javax.sql:对应Java应用程序对数据库的高级操作。

   JDBC的连接步骤:
   1、注册驱动
      建立驱动类型的对象;
      把这个对象注册到相应的程序中。
      反射(得到一个类):
         1、Class c=类名.class
         2、类名.getClass();
     3、Class.forName(类全名);
      实现方式:
         1)、Class.forName("类全名");
     2)、Driver driver=new oracle.jdbc.driver.OracleDriver();

   2、建立连接
    Connection接口。
    Connection conn=DriverManager.getConnection(url);
    Oracle数据库的url:
    jdbc:oracle:thin:@127.0.0.1:1521:XE
    jdbc:连接协议——进行JDBC的连接;
    oracle:连接的数据库(子协议);
    thin:连接方式 (oci)
    @172.0.0.1=localhost:IP地址
    1521:端口号
    XE:数据库名称(select name from v$database)
    mySql连接数据库
    类全名:com.mysql.jdbc.Driver
    URL:jdbc:mysql://localhost:3306/数据库名
   

   3、创建Statement
    Statement 创建方式:conn.createStatement();
    作用:执行静态的SQL语句;
    execute(String sql);
    根据不同的SQL返回不同的结果;
    executeQuery(String sql);
    //进行查询操作(select),返回一个结果集ResultSet
    executeUpdate(String sql);
    //进行更新操作(update,insert)
    //返回int类型的数据

   4、执行SQL语句
   5、处理结果集
   6、关闭连接


  使用的类或接口:
  Driver:所有的驱动程序必须实现的接口,类似于
  硬件中的需要安装驱动。
  DriverManager:主要用于管理数据库连接的驱动
  程序。
  Connection:用于Java应用程序和数据库之间建立连接。

 

例子:-----------------》》》》

TestJdbc.java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/*
 * 这是一个java 连接 oracle 的例子
 */
public class TestJdbc {

    public static void main(String[] args) {

        Connection conn=null;
        Statement st=null;
        try {
            //注册驱动
            Class.forName("oracle.jdbc.driver.OracleDriver");
            //建立连接
            try {
                //XE是数据库名字
                String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
                //system 是用户名 123456 是密码
                conn = DriverManager.getConnection(url,"system","123456");
                //创建statement
                st = conn.createStatement();
                //定义sql语句
                String sql="insert into test values(1,'name')";
                //执行sql语句  ,得到的是int类型
                int num =st.executeUpdate(sql);
                System.out.println("已成成功插入"+num+"条数据!");
            } catch (SQLException e) {
               
                e.printStackTrace();
            }
           
        } catch (ClassNotFoundException e) {
           
            e.printStackTrace();
        }finally{//异常处理..
            try {
                    if(conn !=null){//关闭连接
                    conn.close();
                    }
                    if(st!=null){
                        st.close();
                    }
                } catch (SQLException e) {
                   
                    e.printStackTrace();
                }
            }
        }
}

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值