当前位置:文档之家› JDBC操作步骤以及MySQL数据库连接操作

JDBC操作步骤以及MySQL数据库连接操作

本次预计讲解的知识点:
1、JDBC分类,并使用JDBC连接Mysqle操作
2、JDBC主要接口的使用没,并可以利用这些接口完成数据的操作
3、事务处理
4、批处理的使用
JDBC简介(理解)
JDBC(Java DataBase Connective)Java的数据库连接,JDBC本身提供的是一套与平台无关的数据库的操作标准。

所以在整个JDBC中充斥着大量的操作接口。

而且JDBC本身不是技术,而是一种服务。

由于JDBC 本身属于一个标准,所以一个数据库如果希望使用Java 进行程序开发的话,那么各个数据库的生产商必须实现这些标准——提供专门的数据库的操作包。

根据JDBC操作方式的不同,一共有以下三种常见形式:
·JDBC-ODBC桥连接:利用微软的ODBC技术进行操作
|- 操作过程:程序->JDBC--->ODBC--->数据库
|- 此方式属于Java默认支持的方式,但是由于其中间加入了ODBC端,所以性能很差
·JDBC连接:使用各个数据库生产商提供的数据库驱动程序
|- 操作过程:程序--->JDBC---> 数据库
|- 由于中间缺少了ODBC环节,所以性能将有着明显的提升
·JDBC网络连接:通过网络协议进行数据库的连接操作
一定要记住的是,虽然JDBC-ODBC方式不被使用,但是此种操作中由于是SUN默认支持的,所以JDBC的版本是最高的,但是如果使用的是纯粹的各个数据库生产商提供的驱动程序,那么肯定不会与最新的技术同步。

如果现在使用的是Eclipse的话,则需要在Build Path中配置此驱动程序的开发包。

此时配置完成驱动程序之后,就可以通过以下的接口和类进行JDBC操作了:
·类:DriverManager
·接口:Connection、PreparedStatement、Statement、ResultSet
1.1、JDBC操作步骤
JDBC本身是一个标准,所以其操作步骤是固定的,以后只需要修改很少一部分代码就可以达到不同数据库间的连接转换功能。

JDBC操作步骤:
数据库安装并配置完成之后,就可以按照以下的步骤进行数据库的操作了:
1.加载数据库驱动程序:各个数据库都会提供JDBC的驱动程序开发包,直接把JDBC操作所需
要的开发包(一般为*.jar或*.zip)直接配置到classpath路径即可。

2.连接数据库:肯定要使用连接地址。

根据各个数据库的不同,连接的地址也不同,此连接地址
将由数据库厂商提供,一般在使用JDBC连接数据库时都要求用户输入数据库连接的用户名
和密码,本章使用mysql数据库,所以用户名和密码为“root“,用户在取得连接之后才可以对数据库进行查询或更新操作。

3.使用语句进行数据库操作:数据库操作分为更新和查询两种操作,除了可以使用标准的SQL
语句之外,对于各个数据库也可以使用其自己提供的各种命令。

4.关闭数据库连接:数据库操作完毕之后需要关闭连接以释放资源,因为数据库的连接是非常
有限的。

1.2、配置数据库的驱动程序
数据库驱动程序是由各个数据库生产商提供,只要在JAVA中要想连接数据库,则肯定各个DB要有所支持。

mysql JDBC Driver常用的有两个: 一个是gjt(Giant Java Tree)组织提供的mysql驱动,其JDBC Driver名称(JAVA类名)为:org.gjt.mm.mysql.Driver详情请参见网站:;另一个是mysql官方提供的JDBC Driver,其JAVA类名为:com.mysql.jdbc.Driver ,
/downloads/,
进入其中的MySQL Connector/J区域下载。

此时直接修改CLASSPATH即可。

此时数据库驱动程序就安装完成了。

1.3、加载驱动程序
通过Class.forName()语句可以加载一个驱动程序。

Class实例化需要一个完整的包.类名称,此:“包.类”路径就应该是驱动程序的名称。

org.gjt.mm.mysql.Driver
com.mysql.jdbc.Driver,
(附:把“mysql-connector-java-5.1.20-bin.jar”通过WINRAR打开,找到
org/gjt/mm/mysql/Driver.class)
语法:public static Class<?> forName(String className)
throws ClassNotFoundException
没有发现类的错误,肯定是classpath配置有问题。

1.4、连接及关闭数据库
语法:public static Connection getConnection(String url,
String user,
String password)
此时,数据库已经正常连接,之后可以进行数据库的一系列的SQL语句操作了。

1.5 Statement接口(重点)
如果要进行数据库的操作,在JDBC中依然使用的是SQL语句完成,而用于执行这些SQL语句的接口就是Statement 接口了
但是如果使用Statement 接口操作的话也分为两种形式:
查询、更新,
为了方便起见,在mysql中建立以下的一张表完成数据库的更新。

如果要想增加数据则编写增加的SQL语句:
INSERT INTO 表名称(列名称1,列名称2,…) VALUES (值1,值2,…) ;
SQL是固定的,全部换成变量,则可以按照如下代码编写:
1.5.2数据库更新:
修改数据的SQL语法:
UPDATE 表名称SET 字段=值,字段=值,.. [WHERE 更新条件] 如果不写更新条件,表示的是全部数据都要更新。

删除数据的SQL语法如下:DELETE FROM 表名称[WHERE 删除条件]
DelDemo.java
在操作时使用Statement中的executeQuery()方法进行数据库的查询操作。

此方法返回值就是ResultSet接口。

语法:ResultSet executeQuery(String sql)throws SQLException
查询
1.7 PreparedStatement
使用Statement操作时,肯定要执行的是一条完整的SQL语句,执行之前是使用Connection 直接创建的。

就好比占座,证明此座已经有人了,但是在等待着人的到来。

Connection接口:
PreparedStatement prepareStatement(String sql) throws SQLException
通过以上方法可以得到一个PreparedStatement的一个接口实例。

之后使用一系列的setXxx()方法设置内容,根据位置设置。

如果执行更新语句的话,则会返回更新数据的记录。

注意点:关于日期输入问题:正常情况下都使用java.util.Date表示日期,但是在PreparedStatement 中如果要使用日期则必须使用java.sql.Date类型。

例:使用PreparedStatement执行数据库的插入操作
PreparedStatement的基本工作原理,插入时,先占
1.8 批处理
所谓批处理就是指所有的操作可以一次性的提交到数据库之中。

如果要使用批处理则需要Statement接口中的addBatch()方法
设4条记录是有关联的4条呢?
在使用批处理的操作发现,如果中间有一条语句出错,则默认情况下是将出错之前的代码进行提交,这是由于JDBC采用了自动的事务提交的方式才造成的后果。

如果此时进行事务处理的话,则需要按照如下方式进行:
1.取消自动提交:public void conn.setAutoCommit(false);
2.执行更新操作
3.如果没有错误,则提交事务 public void commit() throws SQLException
4.如果有错误,则进行回滚:public void rollback()throws SQLException。

相关主题