java connection是什么?关于java中接口Connection的问题
很多朋友对于java connection是什么和关于java中接口Connection的问题不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
Java里面的JDBC是什么意思啊
Java数据库连接是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。
这种类型的驱动把所有JDBC的调用传递给ODBC,再让后者调用数据库本地驱动代码(也就是数据库厂商提供的数据库操作二进制代码库,例如Oracle中的oci.dll)。
API概述
JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中),主要包括(斜体代表接口,需驱动程序提供者来具体实现):
DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。Connection:数据库连接,负责与进行数据库间通讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。
可以产生用以执行SQL的Statement。Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。CallableStatement:
用以调用数据库中的存储过程。SQLException:代表在数据库连接的建立和关闭和SQL语句的执行过程中发生了例外情况(即错误)。
关于java中接口Connection的问题
同学,你需要理解的是实现、继承和多态的问题。
class A extends B{}
A为B的子类,A和B假如都有一个 void print()方法
那么
B test=new A();
我们可以看到,test引用的类型是B,但是它的实例是A。
因为A是B的子类,所以这个是可以实现的。
那么test.print()调用的是谁的方法呢?
答案是A的方法。
只有当A没有print方法的时候,才会从上一级(父类)里寻找这个print
接口的性质也是一样的
回到问题:
Connection conn= DriverManager.getConnection(url,user,password);
在这个里面,虽然conn的类型是Connection,但是它的实现是DriverManager.getConnection(url,user,password);的返回值。
既是说,实例是取自getConnnection方法里的。
如果你有源码,可以往里面看看。
当然,你也可以System.out.println(conn.getClass())。
来获取它的实例的类型,肯定不是Connection,而是Connection的实现类。
java中的Connection怎么用
Connection对象的数据库能够提供描述其表、所支持的 SQL语法、存储过程、此连接功能等等的信息。此信息是使用 getMetaData方法获得的。
注:在配置 Connection时,JDBC应用程序应该使用适当的 Connection方法,比如 setAutoCommit或 setTransactionIsolation。在有可用的 JDBC方法时,应用程序不能直接调用 SQL命令更改连接的配置。默认情况下,Connection对象处于自动提交模式下,这意味着它在执行每个语句后都会自动提交更改。如果禁用了自动提交模式,那么要提交更改就必须显式调用 commit方法;否则无法保存数据库更改。
使用 JDBC 2.1核心 API创建的新 Connection对象有一个与之关联的最初为空的类型映射。用户可以为此类型映射中的 UDT输入一个自定义映射关系。在使用 ResultSet.getObject方法从数据源中获取 UDT时,getObject方法将检查该连接的类型映射是否有对应该 UDT的条目。如果有,那么 getObject方法将该 UDT映射到所指示的类。如果没有条目,则使用标准映射关系映射该 UDT。
用户可以创建一个新的类型映射,该映射是一个 java.util.Map对象,可在其中创建一个条目,并将该条目传递给可以执行自定义映射关系的 java.sql方法。在这种情况下,该方法将使用给定的类型映射,而不是与连接关联的映射。
例如,以下代码片段指定 SQL类型 ATHLETES将被映射到 Java编程语言中的 Athletes类。该代码片段为 Connection对象 con获取类型映射,并在其中插入条目,然后使用新的条目将该类型映射设置为连接的类型映射。
java.util.Map map= con.getTypeMap();
map.put("mySchemaName.ATHLETES", Class.forName("Athletes"));
con.setTypeMap(map);
java openConnection对象是指什么
以下信息来自java帮助文档,应该能比较清楚地解答你的疑问了。
public URLConnection openConnection()
throws IOException
返回一个 URLConnection对象,它表示到 URL所引用的远程对象的连接。
每次调用此 URL的协议处理程序的 openConnection方法都打开一个新的连接。
如果 URL的协议(例如,HTTP或 JAR)存在属于以下包或其子包之一的公共、专用 URLConnection子类:java.lang、java.io、java.util、java.net,返回的连接将为该子类的类型。例如,对于 HTTP,将返回 HttpURLConnection,对于 JAR,将返回 JarURLConnection。
返回:
到该 URL的 URLConnection。
public final InputStream openStream()
throws IOException
打开到此 URL的连接并返回一个用于从该连接读入的 InputStream。此方法是下面方法的缩写:
openConnection().getInputStream()
返回:
从 URL连接读入的输入流。
关于java connection是什么,关于java中接口Connection的问题的介绍到此结束,希望对大家有所帮助。