Java程序与数据库的连接
来源:互联网 发布:网络整合营销理论 编辑:程序博客网 时间:2024/06/13 08:16
1.连接(Connection):
客户端 Java 应用程序与数据库服务器之间的通信连接,在应用程序的代码中使用数据库之前,必须获取一个数据库连接。通常由 JDBC 建立,连接是通过 java.sql.Connection 接口实现。创建一个连接后,可以调用它的方法获得和设置连接、管理事务和创建语句对象等。
2.数据源(DataSource) :
DataSource 接口是在 JDBC 3.0 的规范中定义的另外一种获取数据源连接的方法。
使用 DataSource 进行数据库连接可以提高应用程序的可移植性,因为应用程序使用一个逻辑名称建立与数据库的连接,该逻辑名通过使用 JNDI(Java Naming and Directory Interface) 命名服务映射到真正的 DataSource 对象,该 DataSource 对象表示了一个真正的数据库连接。如果数据源的信息发生变化,只需修改该 DataSource 对象的属性,而不需要修改应用程序。
DataSource 对象是推荐使用的方法,它使得应用程序更容易移植和维护,而且应用程序可以透明地使用连接池和分布事务的功能。J2EE 组件多通过 DataSource 对象与数据源建立连接的。
DataSource 接口的实现可以提供连接池的功能,也可以不提供。在基本的 DataSource 接口的实现中,客户的连接对象与物理的数据库连接是一对一的关系,当连接对象关闭的时候,物理的数据库连接也要关闭,因此,每个客户连接都要打开、初始化和关闭一次物理的数据库连接,这显然降低系统的性能。连接池则维护了一组物理的数据库连接,在客户间重用来提高性能和可扩展性。
3.语句对象:
连接一旦建立,就可向数据库传送 SQL 语句,而且对可被发送的 SQL 语句类型不加任何限制,它允许使用特定的数据库语句。
JDBC 提供了三个类,用于向数据库发送 SQL 语句,Connection 接口中的三个方法可用于创建这些类的实例:
1.Statement 对象:由方法 createStatement 所创建,用于发送简单的 SQL 语句,来进行查询或对数据库进行更新。 Statement 对象提供三种方法执行 SQL 语句:
execute 方法用于执行返回多个结果集或更新多个元组的 SQL 语句;
executeQuery 方法用于执行返回单个结果集的 SQL 语句;
executeUpdate 方法用于执行含有 INSERT、UPDATE 或 DELETE 语句或者不返回任何内容的 SQL 语句,如 DDL 语句。
2.PreparedStatement 对象:由方法 prepareStatement 所创建,用于发送带有一个或多个输入参数(IN 参数)的 SQL 语句。
数据库服务器在处理 SQL 语句时都是首先生成该语句的执行计划,然后执行。对于有些应用需要反复处理具有相同执行计划的语句,就会浪费处理资源,这时就可以使用 PreparedStatement 对象,这样,数据库服务器可以提前取得 SQL 语句,并为它创建查询计划,以后该语句就可以多次执行。
PreparedStatement 对象由方法 prepareStatement 所创建,用于发送带有一个或多个输入参数(IN 参数)的 SQL 语句。
PreparedStatement 对象具有一组 setXXX()方法,用于设置 IN 参数的值。执行语句时,这些 IN 参数将被送到数据库中。
处理一个带参数的 SQL 语句通常包括以下过程
生成一个 PreparedStatement 对象,对语句进行预编译。
设置参数。
执行语句,获取结果。
3.CallableStatement 对象:由方法 prepareCall 所创建,用于执行 SQL 存储过程。
CallableStatement 对象从 PreparedStatement 中继承了用于处理 IN 参数的方法,而且还增加了用于处理 OUT 参数和 INOUT 参数的方法。
CallableStatemen 对象由方法 prepareCall 所创建,用于发送带有一个或多个输入参数(IN 参数)和输出参数(OUT 参数)或输入输出参数(INOUT 参数)的 SQL 语句。
CallableStatement 对象继承了 PreparedStatement 的 setXXX()方法,用于设置 IN 参数的值。在执行语句前必须用 CallableStatement 的特有方法 registerOutParameter()对 OUT/INOUT 参数进行注册,语句执行之后,可以用 getXXX()方法获取参数值。
处理一个存储过程的 SQL 语句通常包括以下过程:
生成一个 CallableStatement 对象,对语句进行预编译。
提取参数信息。
设置参数。
注册输出参数。
执行语句。
获取输出参数的返回值。
- Java程序与数据库的连接
- java程序与数据库的连接(增删改查)
- java与数据库的连接
- java与数据库的连接
- Java与数据库的连接
- Java与数据库的连接
- java程序连接数据库
- Java程序连接数据库
- Java程序连接各种数据库的方法
- JAVA程序连接各种数据库的方法
- 单独的java程序连接oracle数据库
- Java连接mysql数据库的程序
- 数据库的乱码问题及数据库与程序的连接
- Java程序访问Oracle数据库集群与非集群的不同连接字符串
- java程序与SQLServer2008数据库加载驱动并连接源代码
- java程序与SQLServer2008数据库加载驱动并连接源代码
- java与数据库的所有连接方式
- java与mysql数据库的连接
- Git with Smart HTTP in Cygwin
- 圆柱体求表面积
- html target属性
- 极光推送技术原理:移动无线网络长连接
- 38 个免费开源的 CSS 下拉导航菜单
- Java程序与数据库的连接
- python 实现 全角字符 传转换成 半角字符串
- 新HP服务器安装注意
- Hadoop远程调试
- 黑马程序员 Collections 和其他类的应用
- java-Eclipse-(xx.equalsIgnoreCase不区分大小写比较)
- 【Android】Activity的启动模式详解
- [LeetCode] Generate Parentheses
- C++编程练习(15)----“排序算法 之 归并排序“