java引入SQL数据库(一)JDBC-ODBC桥方式

简介:
开放数据库互连(Open Database Connectivity,ODBC)
是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。
这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC

第一步:设置ODBC数据源
打开控制面版——>>管理工具——>>设置ODBC数据源
在这里插入图片描述点击添加,进行添加数据源
在这里插入图片描述

选择安装数据源驱动程序,SQL的就是SQL Server

在这里插入图片描述
填写名称,描述,选择服务器进行下一步
在这里插入图片描述

不带密码的直接下一步,设计密码选择第二个单选框设置
在这里插入图片描述
勾选默认数据库,选择需要连接的数据库,点击下一步
在这里插入图片描述
直接点击完成
在这里插入图片描述
测试数据源
在这里插入图片描述
测试成功
在这里插入图片描述
第二步:在Java中使用

(1)加载ODBC驱动(在java8中抛弃了ODBC的连接方式)

也就是说java8以后不支持用ODBC连接数据库。
若想用则自行百度。

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

(2)创建Connection对象

DriverManager.getConnection(“jdbc:odbc:设置的ODBC数据源名称”);
如果设置了账户密码
DriverManager.getConnection(“jdbc:odbc:设置的ODBC数据源名称”,账户,密码 );

  Connection con = DriverManager.getConnection("jdbc:odbc:Text1");

(3)创建Statement对象

Statement st = con.createStatement();

(4)执行SQL语句返回ResultSet对象

参数为SQL语句字符串

 ResultSet  rs = st.executeQuery("select Name,MajorName from SYS_Examinee");

下篇文章使用JDBC方式连接数据库将详细讲到ResultSet 使用

ODBC相对于的JDBC的区别:
优点: 无需下载驱动Jar包,直接引入底层驱动。
数据库接口统一,不同数据库设置不同数据源驱动程序,更换数据库只需更改数据源驱动程序。无需更改代码
缺点: 移植性低

demo示例

public class TextSoure {
 public static void main(String[] args) throws ClassNotFoundException {
  Statement st = null;
  Connection con  = null;
  ResultSet rs = null;
  try {
   //加载驱动
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   //连接数据库
   con = DriverManager.getConnection("jdbc:odbc:Text1");
    st = con.createStatement();
    rs = st.executeQuery("select Name,MajorName from SYS_Examinee");
         while(rs.next()){//如果对象中有数据,就会循环打印出来
             System.out.println(new String(rs.getBytes(1),Charset.forName("GBK")));
         } 
  } catch (Exception e) {
   e.printStackTrace();
  }finally{
   try {
    //关闭
    if (rs != null) {
     rs.close();
    }
    if (st != null) {
     st.close();
    }
    if (con != null) {
     con.close();
    }
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值