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

J2EE的13个规范之(二) JDBC 及其使用

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

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

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

      理解JDBC

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

JDBC驱动程序

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

      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 及其使用「建议收藏」

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

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

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

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

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

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

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

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

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

      J2EE的13个规范之(二) 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 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数据库的连接。事实上其它数据库的连接跟这个本质上是一样的。虽然JDBCJAVA语言层面实现了统一,但不同数据库仍旧有很多差异。

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

       期待进一步的学习!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php面试题和答案_百度php面试题及答案

    php面试题和答案_百度php面试题及答案 基础题:1.表单中get与post提交方法的区别?答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.2.session与cookie的区别?答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放  cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端

    2022年8月28日
    3
  • 【数据结构】单链表上的基本运算

    【数据结构】单链表上的基本运算【数据结构】单链表上的基本运算

    2022年4月25日
    43
  • intellijidea激活码2021【2021最新】

    (intellijidea激活码2021)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月21日
    66
  • 2020美赛A题翻译

    2020美赛A题翻译对于一些生活在海洋里的物种,全球海洋温度影响它们栖息地的质量。当对于它们的后续繁衍来说温度改变太大的时候,这些物种就会迁徙去寻找新的栖息地去更好地安放当前和未来的生殖繁衍。一个例子就是美国缅因州的龙虾的种群,它缓慢地往加拿大北部迁徙,那六更低的温度提供一个合适的栖息地环境。这种地理上的人口转移可能会对那些依赖海洋生物稳定性的公司的生计造成严重的破坏。您的团队已被苏格兰北大西洋渔业…

    2022年5月25日
    34
  • 阿里云短信平台实现手机验证码登录_在线云短信验证码

    阿里云短信平台实现手机验证码登录_在线云短信验证码阿里云短信平台实现手机验证码登录首先创建一个工具类工具类AliyunMessageUtil代码如下所示:publicclassAliyunMessageUtil{ privatestaticfinalStringproduct=”Dysmsapi”; //产品域名,开发者无需替换 privatestaticfinalStringdomain=”dysmsapi.aliyuncs.com”; //此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)TOD

    2025年7月12日
    2
  • python 初中课程_8年级将新增Python课程内容

    python 初中课程_8年级将新增Python课程内容从2020年9月1日开始,浙江3~9年级信息技术课程将替换新的教材。其中变化较大的是,8年级将新增Python课程内容。这也就意味着:从今天起,Python正式成为浙江中学生信息技术必修课!新高一信息技术编程语言由VB替换为Python,大数据、人工智能、程序设计与算法。网友们直呼:我连Excel都还没整明白,人家后浪们就开始学Python了。从的教材目录上我们可以看到,不止是初中,从小学阶段开始…

    2022年5月17日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号