关于Statement 类
对于下面这个语句我不太理解:???
Statement stmt=null;
stmt=con.createStatement();
我的疑惑:???
1.Statement和Connection都是接口,接口中的方法不都是没有实现吗???怎么能够实例化一个接口对象,并且调用其中的方法嗯???
2.Statement对象为什么不是由它自己的构造方法创建,而要由Connection接口中的方法创建???
// 在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。
在查阅了JAVA JDK之后,发现:Connection接口:
如下:
摘要:
Statement createStatement()
创建一个 Statement 对象来将 SQL 语句发送到数据库
:::
可以看出,在Connection接口中,定义了,创建Statement对象的方法。即:createStatement();方法可以创建一个Statement对象。
java.sql
接口 Connection
所有超级接口:
Wrapper
--------------------------------------------------------------------------------
public interface Connectionextends Wrapper
与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。
对于下面这个语句我不太理解:???
Statement stmt=null;
stmt=con.createStatement();
我的疑惑:???
1.Statement和Connection都是接口,接口中的方法不都是没有实现吗???怎么能够实例化一个接口对象,并且调用其中的方法嗯???
2.Statement对象为什么不是由它自己的构造方法创建,而要由Connection接口中的方法创建???
3.和statement一样,Connection的对象是用DriverManager的getConnection()方法来创建
那我们来看一下,DriverManager类中的成员方法:
static connection getConnection(String url, String user ,String password);
如何理解这个方法的返回值???
:::::::::::
以下的
代码段(其中 con 是 Connection 对象)创建包含带两个 IN 参数占位符的 SQL 语句的 PreparedStatement 对象:
()。PreparedStatement pstmt = con.prepareStatement("UPDATE table4 SET m = ? WHERE x = ?");
::::::::::::::::::::::::pstmt 对象包含语句 "UPDATE table4 SET m = ? WHERE x = ?",它已发送给DBMS,并为执行作好了准备。
()。rs=ps.executeQuery();
// ResultSet executeQuery()
// 在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。
在查阅了JAVA JDK之后,发现:Connection接口:
如下:
摘要:
Statement createStatement()
创建一个 Statement 对象来将 SQL 语句发送到数据库
:::
可以看出,在Connection接口中,定义了,创建Statement对象的方法。即:createStatement();方法可以创建一个Statement对象。
java.sql
接口 Connection
所有超级接口:
Wrapper
--------------------------------------------------------------------------------
public interface Connectionextends Wrapper
与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。