我想大家都知道ODBC是什么?ODBC(OpenDatabaseConnectivity。开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分。它建立了一组规范,并提供了一组对数据库訪问的标准API(应用程序编程接口)。

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于运行SQL语句的Java API,能够为多种关系数据库提供统一訪问。它由一组用Java语言编写的类和接口组成。事实上他们都是一样的,为连接数据库提供一组API!

理解JDBC

提供了统一方式訪问数据库的API,提供独立于平台的数据库訪问,对专有的数据库问题的是透明的。

JDBC驱动程序

我们来看一个图,JAVA引用程序是通过驱动呢来和数据库进行连接的。连接不同的数据库载入不同的驱动!

比如我们连接sql server 数据库,那么我们就要载入sql server 驱动。首先要从网上下载对应的驱动包sqljdbc_4.0.2206.100_chs.tar假设你的数据库是sql server 2008以后版本号的, 那么就能够用这个一个(sqljdbc4.jar)就能够了,当然假设是曾经的,你能够查一下我没研究过,但我想说(你真执着!)。

看一下用Eclipse 连接sql server 数据库的使用方法!有图有真相。

首先打开Eclipse后,随便的简历一个java 项目。然后随便的建一个包。包下边在创建一个类!

然后右键单击项目名,选择Build Path  然后在选择Configure Build Path….

然后选择上边的Libraries,单击Add External JARs…. 然后找到你从网上下载好的sqljdbc4.jar文件, 一定要下载好正确的文件。否则你会非常懊悔!

所以建议你从这里下载(标准的sqljdbc4.jar)。

确定好有sqljdbc.jar文件以后(一定要看好后缀名),就能够单击OK了。

然后如图所看到的,当写代码的时候的驱动的路径就放在java.sql.Driver文件里,到时候为了防止写错,能够来这里粘贴!

而他真实使用的驱动类就放在com.microsoft.sqlserver.jdbc的包中,想看一下直接进去找,里边类有非常多,详细什么作用直接去网上查就能够了。

然后就能够进行编码了,编码前首先要引入几个文件,java.sql.Connection; java.sql.DriverManager; java.sql.PreparedStatement; java.sql.ResultSet;在程序中就能够直接使用这几个类了!

<span style="font-size:18px;">package com.tgb;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;public class jdbcConn {public static void main(String[] args) throws Exception {// TODO Auto-generated method stubjdbcConn.test();}public static void test() throws Exception{Connection conn = null;PreparedStatement ps=null;ResultSet rs= null;try {//定义驱动的路径,该路径在services下的java.sql.Driver中。String driverPath="com.microsoft.sqlserver.jdbc.SQLServerDriver";//载入驱动Class.forName(driverPath);//是从当前JVM的载入器(可能多个)中选取适合的数据库驱动并获得连接conn=DriverManager .getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=DB_ChargeSystem","sa","123456");//SQL语句String sql = "select * from T_UserInfo";//向已经连接的数据库中发送sql语句,该sql语句在PreparedStatement对象中已经惊醒了编译!ps = conn.prepareStatement(sql);//返回sql语句的运行结果。rs = ps.executeQuery(); //对结果进行操作,现将他打印出来, 在实际中进行更复杂的操作!while (rs.next()) {System.out.println(rs.getString(1));}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}finally{//关闭全部打开的连接,try {rs.close();} catch (Exception e2) {// TODO: handle exceptione2.printStackTrace();}finally{try {ps.close();} catch (Exception e3) {// TODO: handle exceptione3.printStackTrace();}finally{conn.close();}}}}
}</span>

这个仅仅是一个简单的实例。在实际的应用中我们还要好好的对这种方法进行进一步的封装。然后就能够代码简化非常多。

上边的实例为sql server数据库的连接。事实上其它数据库的连接跟这个本质上是一样的。虽然JDBC在JAVA语言层面实现了统一,但不同数据库仍旧有很多差异。

为了更好地实现跨数据库操作,于是诞生了Hibernate目,Hibernate是对JDBC的再封装,实现了对数据库操作更宽泛的统一和更好的可移植性。

期待进一步的学习!

转载于:https://www.cnblogs.com/yxwkf/p/5174371.html

J2EE的13个规范之(二) JDBC 及其使用相关推荐

  1. J2EE的13个规范总结

    转载自:http://blog.csdn.net/zhuanzhe117/article/details/38763483 什么是J2EE? 在企业级应用中,都有一些通用企业需求模块,如数据库连接,邮 ...

  2. J2EE的13个规范

    文章目录 JDBC(Java DatabaseConnectify):Java数据库连接 JNDI(Java Naming andDirectoryInterfaces):Java命名和目录接口 EJ ...

  3. J2EE的13个标准(规范)

     1.J2EE的13个标准(规范): 2.J2EE体系结构: 3.详细说明: 1)JDBC:Java Data Base Connectivity,数据库连接 我们大家对微软公司的ODBC数据库访问接 ...

  4. J2EE的13种核心技术

    Java最初是在浏览器和客户端机器中粉墨登场的.当时,很多人质疑它是否适合做服务器端的开发.现在,随着对Java2平台企业版(J2EE)第三方支持的增多,Java被广泛接纳为开发企业级服务器端解决方案 ...

  5. J2EE的13种核心技术简介

    Java最初是在浏览器和客户端机器中粉墨登场的.当时,很多人质疑它是否适合做服务器端的开发.现在,随着对Java2平台企业版(J2EE)第三方支持的增多,Java被广泛接纳为开发企业级服务器端解决方案 ...

  6. J2EE的13种核心技术(一)

    J2EE的13种核心技术(一) 内容简介 Steven Gould在文中介绍了Java2平台企业版(J2EE)的13种核心技术:JDBC, JNDI, EJBs, RMI, JSP, Java ser ...

  7. Java的13个规范

    Java的13个规范 一流企业做标准.二流企业做品牌.三流企业做产品! 规范:意指明文规定或约定俗成的标准,或是指按照既定标准.规范的要求进行操作,使某一行为或活动达到或超越规定的标准. J2EE中也 ...

  8. Java学习——传说中的13个规范

    早就听说J2EE有十三个规范,可是看完视频我都没有发现有什么规范,这就让我纳闷了,都说学习java就是学习十三个规范,可是它到底是什么呢? 原来十三个规范就是十三个API文档,视频里讲到的都是属于AP ...

  9. javaEE的13个规范

    你听过这句话吗?"一流企业做标准.二流企业做品牌.三流企业做产品!"我时我就在想,做标准的企业就是一流的?卖产品就是三流公司?而坐产品或者加工的公司,即使说销售量很大也挣不了太多的 ...

最新文章

  1. 混合时空图卷积网络:利用导航数据改进交通预测效果 | KDD 2020
  2. 委员建议开辟多种科研资助模式,呼唤“科研悬赏制”
  3. klib库下的kroundup32(二进制的四舍五入)算法
  4. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(更快的RCNN:通过区域提议网络实现实时)
  5. php程序设计案例教程 程序题,PHP程序设计案例教程
  6. php 操作文件夹 (遍历 计算大小)
  7. STM32f407与STM32F103 串口采用DMA收发数据配置方法的异同
  8. Android 系统性能优化(25)---Dalvik 与ART
  9. Cli4.5.x 中使用axios请求数据
  10. Hive 复制分区表和数据
  11. 阿里巴巴面试题- - -Java体系最新面试题(2022内部资料)
  12. PFC离散元软件快捷操作方式
  13. selenium弹窗处理,包括Javascript弹窗、HTML弹出层和Windows弹窗
  14. linux下python网络编程框架-twisted安装手记,Linux下Python网络编程框架-Twisted安装手记 | 学步园...
  15. [ZT]调侃、反讥与诡辩
  16. SyncToy 2.1
  17. ubuntu 16.04 安装nvidia驱动 下载nvidia官方驱动
  18. 鲁宾逊微积分教材版权的“知识共享”授权方式
  19. iso 国家名称列表
  20. 手机连接Linux教程,手机密钥连接linux主机

热门文章

  1. Git初学札记(一)————Git简介与安装
  2. python hashlib_python hashlib模块及md5() 、sha()
  3. 怎样查看电脑系统版本_用什么软件查维修记录 思域HATCHBACK怎样查询维保记录_汽车事故车查询...
  4. java 8 list,JAVA8 ListListInteger list中再装一个list转成一个list操作
  5. HTML+CSS+JS实现 ❤️等离子球体ui动画特效❤️
  6. 选择排序--Java
  7. C语言带参宏定义和函数的区别
  8. html 怎么让tr的css覆盖td的_通达OA上传漏洞之变量覆盖分析
  9. python正则匹配ip_[求助] 正则表达式匹配 IP 地址的问题求助
  10. 最全python爬虫库安装详解