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

        我想大家都知道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数据库的连接。事实上其它数据库的连接跟这个本质上是一样的。虽然JDBCJAVA语言层面实现了统一,但不同数据库仍旧有很多差异。

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

       期待进一步的学习!

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

被恶意上传了.php,轻松解决网站被恶意镜像

老听说有人的网站被恶意镜像&#xff0c;于是我先收藏几种解决方法。镜像站看似一个完整的站点&#xff0c;其实每次用户访问镜像站点&#xff0c;他的小偷程序就会来正版的网站查询数据&#xff0c;并修改相关链接然后呈献给用户。实质上还是在读取原站的数据&#xff0c;我们…

【代码笔记】iOS-对UIView进行截图

一&#xff0c;效果图。 二&#xff0c;工程图。 三&#xff0c;代码。 RootViewController.m #import "RootViewController.h"interface RootViewController ()endimplementation RootViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBund…

matlab实现浮点转定点,浮点转定点方法总结.doc

浮点转定点方法总结浮点转定点方法总结—孔德琦目录定点运算方法31.1 数 的 定 标31.2c语言&#xff1a;从浮点到定点41.2.1 加法41.2.2乘法61.2.3除法71.2.4 三角函数运算81.2.5 开方运算91.3 附录101.3.1 附录1&#xff1a;定点函数库101.3.2附录2&#xff1a;正弦和余弦表28…

caffe官网的部分翻译及NG的教程

Caffe原来叫&#xff1a;Convolutional Architecture for Fast Feature Embedding 官网的个人翻译&#xff1a;http://blog.csdn.net/fengbingchun/article/details/49535873 NG的英文教程&#xff1a;http://ufldl.stanford.edu/tutorial/supervised/MultiLayerNeuralNetworks…

matlab 中 t=0:t:(n-1)t;k=0:n-1,《MATLAB语言与应用》练习题答案

《MATLAB 语言与应用》实验课程任务书一、 实验教学目标与基本要求上机实验是本课程重要的实践教学环节&#xff1b;实验的目的不仅仅是验证理论知识&#xff0c;更重要的是通过上机实验&#xff0c;加强学生的实验手段与实践技能&#xff0c;掌握应用MATLAB 语言求解问题的方法…

Kerbose

http://blog.csdn.net/wulantian/article/details/42418231转载于:https://www.cnblogs.com/diyunpeng/p/5175290.html

IIS虚拟目录实现与文件服务器网络驱动器映射共享

这篇文章转载别人&#xff0c;想原创作者致敬&#xff01; 我本人也遇到同样的问题&#xff0c;故转载记录。 本文重点描述如何使用IIS访问共享资源来架设站点或执行 ASP.Net 等脚本。 通常情况下&#xff0c;拥有多台服务器的朋友在使用IIS建立站点的时候&#xff0c;会遇到如…

rsa php前台加密后台解密源码,使用RSA实现前端公钥加密后端私钥解密

项目中在用户登录时需要进行用户名和密码加密,这里选用了RSA非对称加密的方式.公钥私钥:OpenSSL的公钥私钥(Node crypto模块限制)前端: jsencrypt库加密后端: Node crypto模块使用openssl生成公钥私钥linux生成公钥私钥命令:genrsa -out rsa_private_key.pem 1024 // 生成1024位…

php 事件调度,MySQL的事件调度器使用介绍

自MySQL5.1.0起&#xff0c;增加了一个非常有特色的功能ndash;事件调度器(Event Scheduler)&#xff0c;可以用做定时执行某些特定任务&#xff0c;可以看作基于自MySQL5.1.0起&#xff0c;增加了一个非常有特色的功能–事件调度器(Event Scheduler)&#xff0c;可以用做定时执…

mysql中括号_干货!Python与MySQL数据库的交互实战

作者 | Huang supreme&#xff0c;责编 | 郭芮头图 | CSDN 下载自视觉中国安装PyMySQL库如果你想要使用python操作MySQL数据库&#xff0c;就必须先要安装pymysql库&#xff0c;这个库的安装很简单&#xff0c;直接使用pip install pymysql&#xff1b;假如这种方式还是安装不上…

Xcode清缓存

前往-->按住option键进入资源库-->Developer-->Xcode-->DerivedData 删除里面的文件就行了转载于:https://www.cnblogs.com/10-19-92/p/5181940.html

苹果天气不显示_热门天气APP被苹果拿下,安卓用户不能再使用

近日&#xff0c;Android平台最受欢迎的订阅式天气APP之一Dark Sky官方宣布其被苹果收购。收购后&#xff0c;Android和Wear OS上的Dark Sky APP都会在2020年7月1日下架&#xff0c;届时将关闭服务并提供退款&#xff0c;iOS版APP则不受影响。Dark Sky天气预报Dark Sky服务早就…

java 安全 认证和授权,Java安全之认证与授权

Java平台提供的认证与授权服务(Java Authentication and Authorization Service (JAAS))&#xff0c;能够控制代码对敏感或关键资源的访问&#xff0c;例如文件系统&#xff0c;网络服务&#xff0c;系统属性访问等&#xff0c;加强代码的安全性。主要包含认证与授权两部分&…

Struts2使用OGNL遍历各种map总结

一.Action中的代码&#xff1a;MapAction.java package com.zx.demo.action; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.opensymphony.xwork2.ActionSupport; import com.zx.demo.model.Prod…

java 数组下标6,这里为什么用equals会错,改==就不会?java入门第一集6.8获取数组下标课后练习...

源自&#xff1a;6-8 使用 foreach 操作数组这里为什么用equals会错&#xff0c;改就不会&#xff1f;java入门第一集6.8获取数组下标课后练习public class practice_1_6_8 {public static void main(String[] args) {int[] cored {11,22,33,44,55,66,77,88,99,00};System.out…

WC总结

去了人生中第一次全国WC&#xff0c;在四川绵阳南山中学举行&#xff0c;去了这么一次&#xff0c;感受颇多&#xff0c;不忍心白白地让时间流逝&#xff0c;于是写篇随笔记录一下。 全程&#xff0c;共计8天。 【第1天】 签到&#xff0c;拿餐票&#xff0c;看了看讲义&#x…

求n的阶乘的算法框图_算法|从阶乘计算看递归算法

欢迎点击「算法与编程之美」↑关注我们&#xff01;本文首发于微信公众号&#xff1a;"算法与编程之美"&#xff0c;欢迎关注&#xff0c;及时了解更多此系列文章。1理解递归“程序设计是实践计算机思维的重要手段”。程序设计的三种特征就是封装、继承和多态。而对于…

matlab画无量纲速度分布,麦克斯韦分布与概率论中典型分布的比较教学

大学物理和高中物理的衔接教学已经受到大学教师足够的重视和研究[1-3]。大学物理的数学基础是大学数学,特别是微积分和概率论。关于大学物理和大学数学课程的有效衔接和融汇教学国内也有初步的研究和实践[4-6]。本文笔者在河海大学多年的《大学物理》教学经历中明显感觉到学生对…

Python成长之路_装饰器

一、初入装饰器 1、首先呢我们有这么一段代码&#xff0c;这段代码假设是N个业务部门的函数 1 def f1(aaa): 2 print(我是F1业务) 3 if aaa f1: 4 return ok 5 6 def f2(aaa): 7 print(我是F2业务) 8 if aaa f2: 9 return ok 业务代码这里的…

python卸载_删除系统 Python 引发的惨案

这个案例告诉我们&#xff0c;千万不要动系统自带的 Python&#xff0c;Win系统除外文 | fanzhenyu 出处 | http://fanzhenyu.cn/由于无知&#xff0c;卸载 Ubuntu 自带的 python3 引发惨案&#xff0c;谨记&#xff0c;深刻反思。惨案由于实验需要使用 Python3.6 以上版本&…