前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >J2EE的13个规范之(二) JDBC 及其使用「建议收藏」

J2EE的13个规范之(二) JDBC 及其使用「建议收藏」

作者头像
全栈程序员站长
发布2022-07-08 17:08:18
2660
发布2022-07-08 17:08:18
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是全栈君。

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

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

理解JDBC

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

JDBC驱动程序

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

J2EE的13个规范之(二) JDBC 及其使用「建议收藏」
J2EE的13个规范之(二) JDBC 及其使用「建议收藏」

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

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

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

J2EE的13个规范之(二) JDBC 及其使用「建议收藏」
J2EE的13个规范之(二) JDBC 及其使用「建议收藏」

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

J2EE的13个规范之(二) JDBC 及其使用「建议收藏」
J2EE的13个规范之(二) JDBC 及其使用「建议收藏」

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

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

J2EE的13个规范之(二) JDBC 及其使用「建议收藏」
J2EE的13个规范之(二) JDBC 及其使用「建议收藏」

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

J2EE的13个规范之(二) JDBC 及其使用「建议收藏」
J2EE的13个规范之(二) JDBC 及其使用「建议收藏」

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

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

J2EE的13个规范之(二) JDBC 及其使用「建议收藏」
J2EE的13个规范之(二) JDBC 及其使用「建议收藏」

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

代码语言:javascript
复制
<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 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();				}			}		}	}}</span>

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

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

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

期待进一步的学习!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116093.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年1月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档