博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
J2EE的13个规范之(二) JDBC 及其使用
阅读量:7209 次
发布时间:2019-06-29

本文共 2740 字,大约阅读时间需要 9 分钟。

        我想大家都知道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;在程序中就能够直接使用这几个类了!

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 stub		jdbcConn.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 exception			e.printStackTrace();		}finally{			//关闭全部打开的连接,			try {				rs.close();			} catch (Exception e2) {				// TODO: handle exception				e2.printStackTrace();			}finally{				try {					ps.close();				} catch (Exception e3) {					// TODO: handle exception					e3.printStackTrace();				}finally{					conn.close();				}			}		}	}}

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

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

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

       期待进一步的学习!

你可能感兴趣的文章
flex布局
查看>>
React通过redux-persist持久化数据存储
查看>>
hibernate实体监听器
查看>>
怎么解决在微信中不能直接下载APP(APK)的方案
查看>>
你真的懂switch吗?聊聊switch语句中的块级作用域
查看>>
JS基础(对象创建,构造函数、原型、实例之间关系,继承方式)
查看>>
在Kubernetes集群上部署和管理JFrog Artifactory
查看>>
Prettier+VScode 治好你的代码洁癖
查看>>
macOS安装配置MySQL
查看>>
环形百分比控件iantoo.percent()
查看>>
专访阿里数据库备份专家 教你pick最有效的备份系统
查看>>
【刷算法】判断链表是否有环以及返回入环节点
查看>>
XXL-CONF v1.5.0 发布,分布式配置中心
查看>>
Java 操作符(3)
查看>>
教你springboot maven多模块如何部署
查看>>
Java并发编程实战笔记(3)-对象的组合
查看>>
记一次ORFfinder本地化所遇到的问题
查看>>
Laravel 大将之 服务容器 模块
查看>>
leetcode 479. Largest Palindrome Product
查看>>
Zsh 开发指南(第十六篇 alias 和 eval 的用法)
查看>>