首页编程java编程java driver什么意思(java jdbc驱动的四种类型请问具体都是什么意思)

java driver什么意思(java jdbc驱动的四种类型请问具体都是什么意思)

编程之家2023-10-14119次浏览

各位老铁们,大家好,今天由我来为大家分享java driver什么意思,以及java jdbc驱动的四种类型请问具体都是什么意思的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

java driver什么意思(java jdbc驱动的四种类型请问具体都是什么意思)

Java里面的JDBC是什么意思啊

Java数据库连接是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

这种类型的驱动把所有JDBC的调用传递给ODBC,再让后者调用数据库本地驱动代码(也就是数据库厂商提供的数据库操作二进制代码库,例如Oracle中的oci.dll)。

API概述

java driver什么意思(java jdbc驱动的四种类型请问具体都是什么意思)

JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中),主要包括(斜体代表接口,需驱动程序提供者来具体实现):

DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。Connection:数据库连接,负责与进行数据库间通讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。

可以产生用以执行SQL的Statement。Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。CallableStatement:

java driver什么意思(java jdbc驱动的四种类型请问具体都是什么意思)

用以调用数据库中的存储过程。SQLException:代表在数据库连接的建立和关闭和SQL语句的执行过程中发生了例外情况(即错误)。

java chromedriver怎么用

import java.io.File;

import java.io.IOException;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.chrome.ChromeDriverService;

import org.openqa.selenium.remote.DesiredCapabilities;

import org.openqa.selenium.remote.RemoteWebDriver;

import org.openqa.selenium.support.ui.ExpectedCondition;

import org.openqa.selenium.support.ui.WebDriverWait;

public class ExampleForChrome{

public static voidmain(String[] args) throws IOException{

//设置 chrome的路径(如果你安装chrome的时候用的默认安装路径,则可省略这步)

System.setProperty("webdriver.chrome.driver","C:/Users/sunlc/AppData/Local/Google/Chrome/Application/chrome.exe");

//创建一个 ChromeDriver的接口,用于连接 Chrome(chromedriver.exe的路径可以任意放置,只要在newFile()的时候写入你放的路径即可)

@SuppressWarnings("deprecation")

ChromeDriverService service= newChromeDriverService.Builder().usingDriverExecutable(

newFile("E:/lib/selenium/dirver/chromedriver_2.9.exe")).usingAnyFreePort().build();

service.start();

//创建一个 Chrome的浏览器实例

WebDriver driver= newRemoteWebDriver(service.getUrl(),

DesiredCapabilities.chrome());

//让浏览器访问 Baidu

driver.get("http://www.baidu.com");

//用下面代码也可以实现

//driver.navigate().to("http://www.baidu.com");

//获取网页的 title

System.out.println(" Page title is:"+driver.getTitle());

//通过 id找到 input的 DOM

WebElement element=driver.findElement(By.id("kw1"));

//输入关键字

element.sendKeys("zTree");

//提交 input所在的 form

element.submit();

//通过判断 title内容等待搜索页面加载完毕,间隔秒

(new WebDriverWait(driver, 10)).until(newExpectedCondition(){

publicBoolean apply(WebDriver d){

returnd.getTitle().toLowerCase().startsWith("ztree");

}

});

//显示搜索结果页面的 title

System.out.println(" Page title is:"+driver.getTitle());

//关闭浏览器

driver.quit();

//关闭 ChromeDriver接口

service.stop();

}

}

java 中的class.forName()是什么意思

Class.forName:返回与给定的字符串名称相关联类或接口的Class对象。

Class.forName是一个静态方法,同样可以用来加载类。该方法有两种形式:Class.forName(String name, boolean initialize, ClassLoader loader)和Class.forName(String className)。第一种形式的参数name表示的是类的全名;initialize表示是否初始化类;loader表示加载时使用的类加载器。第二种形式则相当于设置了参数initialize的值为true,loader的值为当前类的类加载器。

如下图所示,java类型的属性名称叫name,可以通过forName的方法获取到这个类的实例,从而获取到类里面的属性。

扩展资料:

注意:

在指定类给 class.forName()方法后,如果找不到指定的类,会抛出ClassNotFoundException异常。Class的静态 forName()方法有两个版本,上面的代码是只指定类名称的版本,而另一个版本可以让你指定类名称、加载时是否运行静态区块、指定类加载器:

Static Class forName(String name, boolean initialize, ClassLoader loader)

默认在加载类的时候,如果类中有定义静态区块则会运行它。你可以使用 class.forName()的第二个版本,将initialize设定为 false,这样在加载类时并不会立即运行静态区块,而会在使用类建立对象时才运行静态区块。为了印证,可以先设计一个测试类:

package cn.sunzn.demo;public class TestClass{ static{

System.out.println("[运行静态区块]");

}

}

参考资料:百度百科-JAVA反射机制

java jdbc驱动的四种类型请问具体都是什么意思

type 1:jdbc-odbc桥

type 2:本地api驱动

type 3:网络协议驱动

type 4:本地协议驱动

Type 1: jdbc-odbc桥

Jdbc-odbc桥是sun公司提供的,是jdk提供的的标准api.这种类型的驱动实际是把所有 jdbc的调用传递给odbc,再由odbc调用本地数据库驱动代码.(本地数据库驱动代码是指由数据库厂商提供的数据库操作二进制代码库,例如在oracle for windows中就是oci dll文件)

jdbc-odbc桥| odbc|厂商DB代码---------------数据库Server

只要本地机装有相关的odbc驱动那么采用jdbc-odbc桥几乎可以访问所有的数据库,jdbc- odbc方法对于客户端已经具备odbc driver的应用还是可行的.

但是,由于jdbc-odbc先调用 odbc再由odbc去调用本地数据库接口访问数据库.所以,执行效率比较低,对于那些大数据量存取的应用是不适合的.而且,这种方法要求客户端必须安装odbc驱动,所以对于基于 internet,intranet的应用也是不合适的.因为,你不可能要求所有客户都能找到odbc driver.

=====一般ACCESS用到的比较多,初学者用。实际项目是不用的。

Type 2:本地Api驱动

本地api驱动直接把jdbc调用转变为数据库的标准调用再去访问数据库.

这种方法需要本地数据库驱动代码.本地api驱动|厂商DB代码---------------数据库Server(图二)这种驱动比起jdbc-odbc桥执行效率大大提高了.但是,它仍然需要在客户端加载数据库厂商提供的代码库.这样就不适合基于internet的应用.并且,他的执行效率比起3,4型的jdbc驱动还是不够高.

Type3:网络协议驱动这种驱动实际上是根据我们熟悉的三层结构建立的. jdbc先把对数局库的访问请求传递给网络上的中间件服务器.中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用传给数据库服务器.如果中间件服务器也是用java开法的,那么在在中间层也可以使用1,2型 jdbc驱动程序作为访问数据库的方法.网络协议驱动---------中间件服务器------------数据库Server

由于这种驱动是基于server的.所以,它不需要在客户端加载数据库厂商提供的代码库.而且他在执行效率和可升级性方面是比较好的.因为大部分功能实现都在server端,所以这种驱动可以设计的很小,可以非常快速的加载到内存中.但是,这种驱动在中间件层仍然需要有配置其它数据库驱动程序,并且由于多了一个中间层传递数据,它的执行效率还不是最好.

Type4本地协议驱动

这种驱动直接把jdbc调用转换为符合相关数据库系统规范的请求.由于4型驱动写的应用可以直接和数据库服务器通讯.这种类型的驱动完全由java实现,因此实现了平台独立性.本地协议驱动---------数据库Server

由于这种驱动不需要先把jdbc的调用传给odbc或本地数据库接口或者是中间层服务器.所以它的执行效率是非常高的.而且,它根本不需要在客户端或服务器端装载任何的软件或驱动.这种驱动程序可以动态的被下载.但是对于不同的数据库需要下载不同的驱动程序.

以上对四种类型的jdbc驱动做了一个说明.那么它们适合那种类型的应用开发呢?

Jdbc-odbc桥由于它的执行效率不高,更适合做为开发应用时的一种过度方案,或着对于初学者了解jdbc编程也较适用.对于那些需要大数据量操作的应用程序则应该考虑2,3,4型驱动.在intranet方面的应用可以考虑2型驱动,但是由于3,4型驱动在执行效率上比2型驱动有着明显的优势,而且目前开发的趋势是使用纯java.所以3,4型驱动也可以作为考虑对象.至于基于internet方面的应用就只有考虑3,4型驱动了.因为3型驱动可以把多种数据库驱动都配置在中间层服务器.所以3型驱动最适合那种需要同时连接多个不同种类的数据库,并且对并发连接要求高的应用. 4型驱动则适合那些连接单一数据库的工作组应用。

现在是纯java开发,所以一般都用type4的jdbc driver。

关于java driver什么意思,java jdbc驱动的四种类型请问具体都是什么意思的介绍到此结束,希望对大家有所帮助。

腾讯客服qq号 腾讯客服号找回java中random的seed什么意思?java中的random()和random(long seed) 有什么区别