S2/JAVA/08-JDBC

JDBC API主要做3件事:与数据库建立连接、发送SQL语句、处理结果。

DriverManager类:依据数据库的不同,管理相应的JDBC驱动。

Connection接口:负责连接数据库并担任传送数据的任务。

Statement接口:由Connection产生,负责执行SQL语句。

ResultSet接口:负责保存和处理Statement执行后所产生的查询结果。

PreparedStatement接口:Statement的子接口,也有Connection产生,同样负责执行SQL语句。与Statement接口相比,具有高安全性、高性能、高可读性和高可维护性的优点。

JDBC访问数据库的步骤。

(1)加载JDBC驱动。

使用Class.forName()方法将给定的JDBC驱动类加载到Java虚拟机中。若系统中不存在给定的类,则会引发异常,异常类型为ClassNotFoundException。代码示例:

Class.forName("JDBC驱动类的名称");

(2)与数据库建立连接

DriverManager类是JDBC的管理层,作用于用户和驱动程序之间。DriverManager类跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接。当调用getConnection()方法时,DriverManager类首先从已加载的驱动程序列表中找到一个可以接收该数据库URL的驱动程序,然后请求该驱动程序使用相关的URL、用户名和密码连接到数据库中,于是就建立了与数据库的连接,创建连接对象并返回引用。代码示例:

Connection con=DriverManager.getConnection(数据连接字符串,数据库用户名,密码);

(3)发送SQL语句,并得到返回结果。

一旦建立连接,就使用该连接创建Statement接口的对象,并将SQL语句传递给他所连接的数据库。如果是查询操作,将返回类型为ResultSet的结果集,它包含执行SQL查询的结果。如果是其他操作,将根据调用方法的不同返回布尔值或操作影响的记录数目。代码示例:

Statement stmt=con.createStatement();

ResultSet rs=stmt.executeQuery("SELECT id,name FROM master");

(4)处理返回结果

主要是针对查询操作的结果集,通过循环取出结果集中每条记录并做出相应处理。处理结果的代码示例:

While(re.next()){

int id=rs.getInt("id");

String name=rs.getString("name");

System.out.println(id+"  "+name);

}

两种常用的驱动方式:第一种是JDBC-ODBC桥连方式,适用与个人开发与测试,他通过ODBC与数据库进行连接。第二种是纯Java驱动方式,他直接通数据库进行连接,在生产型开发中,推荐使用纯Java驱动方式。

使用JDBC-ODBC桥连方式连接数据库,JDBC驱动类是“sun.jdbc.odbc.JdbcOdbcDriver”,数据库连接字符串将以“jdbc:odbc”开始,后面跟随数据源名称。因此,假设我们已经配置了一个叫“conn_epet”的ODBC数据源,数据库连接字符串就是“jdbc:odbc:conn_epet”,假定登录数据库系统的用户名为“sa”,口令为“sa”。具体实现代码如示例1所示。

我们使用纯Java驱动方式进行数据库连接,首先需要下载数据库厂商提供的驱动程序jar包,并将jar包引入工程中。。接下来就可以进行编程,与数据库建立连接。此处假定在SQL Server2008中已经建立了名称为“epet”的数据库,数据库用户名为“sa”,密码为“sa”,驱动程序包为sqljdbc2008.jar。

获取Connection对象后就可以进行各种数据库操作了,此时需要使用Connection对象创建Statement对象。Statement对象用于将SQL语句发送到数据库中,或者理解为执行SQL语句。Statement接口中包含很多基本数据库操作方法,以下为执行SQL命令的3个方法。

ResultSet executeQuery(String sql):可以执行SQL查询并获取ResultSet对象。

int executeUpdate(String sql):可以执行插入、删除、更新的操作。返回值是执行该操作所影响的行数。

boolean execute(String sql):可以执行任意SQL语句,若结果为ResultSet对象,则返回true;若其为更新计数或者不存在任何结果,则返回false。

时间: 2024-10-22 12:21:03

S2/JAVA/08-JDBC的相关文章

Java 用jdbc连接数据库

Java 用jdbc连接数据库 准备 安装mysql 下载 mysql-connector-java-5.1.40-bin.jar驱动包 步骤 创建jdbc项目 导入mysql-connector-java-5.1.40-bin.ja包 创建配置文件 jdbc.properties user=root password=1230 driverClass=com.mysql.jdbc.Driver jdbcUrl=jdbc:mysql:///atguigu 代码 import java.io.IO

(详细)JAVA使用JDBC连接MySQL数据库(1)- 软件

欢迎任何形式的转载,但请务必注明出处. 1.jdk 点击查看安装和环境配置教程 2.Eclipse 点击进入官网下载 注意下载完成打开.exe后,出现下图界面,有很多版本供选择 本人目前在学JSP所以安装的是Java EE版本,初学者可以选择第一个Java Developers版本 3.Mysql 点击进入官网下载 点击进入推荐安装教程+环境配置 下载页面注意事项 (虽然选项只有32位的,但下载完成后32位和64位都会安装) (上面的是在线安装,下面的是离线安装,建议选择离线安装) 系列文章 (

JAVA之JDBC的简单使用(Mysql)

JDBC增删查改 昨天七七八八的关于Mysql的配置 和 基本使用也算是初步解决了,今天 抽空看了JAVA的JDBC(JAVA DATA BASE CONNECTION)我也不知道我全称拼写对对不对??,笔者英文水平太渣渣. 具体的关于解释jdbc的东东在本文就不阐述了,网上百度一大堆,本文主要记录 实现过程 中的关键点和小坑. 首先 就要把这个问题的解决方法给抛出来 PreparedStatement  的占位符使用 : PreparedStatement是Statement的改良版,具有预编

JAVA使用JDBC连接MySQL数据库 二(2)

本文是对 <JAVA使用JDBC连接MySQL数据库 二>的改进. 上节使用的是PreparedStatement来执行数据库语句,但是preparedStatement需要传递一个sql语句参数,才能创建.然而,DBHelper类只是起到打开和关闭数据库的作用,所以sql语句是要放到应用层部分的,而不是放到DBHelper类中. 而statment不需要传递一个sql语句参数,就能创建. 修改部分如下: public class DBHelper { String driver = &quo

JAVA使用JDBC技术操作SqlServer数据库执行存储过程

Java使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带参数的新增用户存储过程: CREATE PROCEDURE [dbo].[p_Insert_User] @name nvarchar(50), @UserPwd nvarchar(50) AS BEGIN INSERT INTO tb_User VALUES(NEWID(),@name,@UserPwd)

Java通过jdbc连接sql server2012详细过程

在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份验证方式.如果在安装时选用了后者,则重新设置如下: 设置SQL Server 2012的身份验证方式: 1.在连接的服务器上右击,选择属性 2.点击左侧上的安全性,在栏目中选择SQL Server和Windows身份验证 3.设置sa的密码和sa登录名 在根目录下,点击安全性->登录名->选择sa登录名右击选择属性 点击左侧上的常规,在右侧设置登录名sa和密码 4.设置完账号密码

JAVA通过JDBC连接Oracle数据库详解【转载】

JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.html Java连接Oracle步骤: 1.注册加载驱动 驱动名:DRIVER="oracle.jdbc.driver.OracleDriver"; Class.forName("驱动类名"); 2.获得连接 数据库地址: URL="jdbc:oracle:thi

Java使用JDBC连接任意类型数据库(mysql oracle。。)

package cn.liz.test; import java.io.InputStream; import java.sql.Connection; import java.sql.Driver; import java.sql.SQLException; import java.util.Properties; import org.junit.Test; public class JBDCtest { /** * 编写一个通用的方法, 在不修改源程序的情况下, 可以获取任何数据库的连接

java中JDBC应用示例实验

一.先下载mysql-connector-java-x.x.x-bin.jar包 下载mysql-connector-java-x.x.x-bin.jar,目前最新版为mysql-connector-java-5.1.22-bin.jar.( 在Eclipse中,选择 项目->属性->Java构建路径,在"库"选项卡中,选择"添加外部JAR",找到下载的mysql-connector-java-5.1.22-bin.jar文件,将其添加进项目. 再次编译

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 在JDBCPreparedStatement.executeQuery().getMetaData();后,我们可以通过ResultSetMetaData对象查询返回结果集的源数据信息,也就是表结构信息. 示例代码如下: package astar.sutil.db; import java.sql.Connection; import java.sql.Driv