您好,欢迎访问一九零五行业门户网

JDBC连接MySQL数据库及示例

jdbc是sun公司制定的一个可以用java语言连接数据库的技术。 一、jdbc基础知识 jdbc(java data base connectivity,java数据库连接)是一种用于执行sql语句的java api,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成。jdbc为数据
jdbc是sun公司制定的一个可以用java语言连接数据库的技术。
一、jdbc基础知识        
        jdbc(java data base connectivity,java数据库连接)是一种用于执行sql语句的java api,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成。jdbc为数据库开发人员提供了一个标准的api,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 java api 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制。
1、跨平台运行:这是继承了java语言的“一次编译,到处运行”的特点;
2、不受数据库供应商的限制:巧妙在于jdbc设有两种接口,一个是面向应用程序层,其作用是使得开发人员通过sql调用数据库和处理结果,而不需要考虑数据库的提供商;另一个是驱动程序层,处理与具体驱动程序的交互,jdbc驱动程序可以利用jdbc api创建java程序和数据源之间的桥梁。应用程序只需要编写一次,便可以移到各种驱动程序上运行。sun提供了一个驱动管理器,数据库供应商——如mysql、oracle,提供的驱动程序满足驱动管理器的要求就可以被识别,就可以正常工作。所以jdbc不受数据库供应商的限制。
jdbc api可以作为连接java应用程序与各种关系数据库的纽带,在带来方便的同时也有负面影响,以下是jdbc的优、缺点。优点如下:
操作便捷:jdbc使得开发人员不需要再使用复杂的驱动器调用命令和函数;可移植性强:jdbc支持不同的关系数据库,所以可以使同一个应用程序支持多个数据库的访问,只要加载相应的驱动程序即可;通用性好:jdbc-odbc桥接驱动器将jdbc函数换成odbc;面向对象:可以将常用的jdbc数据库连接封装成一个类,在使用的时候直接调用即可。        缺点如下:
访问数据记录的速度受到一定程度的影响;更改数据源困难:jdbc可支持多种数据库,各种数据库之间的操作必有不同,这就给更改数据源带来了很大的麻烦
二、jdbc连接数据库的流程及其原理
1、在开发环境中加载指定数据库的驱动程序。例如,接下来的实验中,使用的数据库是mysql,所以需要去下载mysql支持jdbc的驱动程序(最新的是:mysql-connector-java-5.1.18-bin.jar);而开发环境是myeclipse,将下载得到的驱动程序加载进开发环境中(具体示例的时候会讲解如何加载)。
2、在java程序中加载驱动程序。在java程序中,可以通过 “class.forname(“指定数据库的驱动程序”)” 方式来加载添加到开发环境中的驱动程序,例如加载mysql的数据驱动程序的代码为:  class.forname(“com.mysql.jdbc.driver”)
3、创建数据连接对象:通过drivermanager类创建数据库连接对象connection。drivermanager类作用于java程序和jdbc驱动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的getconnection方法,根据数据库的url、用户名和密码,创建一个jdbc connection 对象。如:connection connection =  drivermanager.geiconnection(“连接数据库的url, 用户名, 密码”)。其中,url=协议名+ip地址(域名)+端口+数据库名称;用户名和密码是指登录数据库时所使用的用户名和密码。具体示例创建mysql的数据库连接代码如下:
              connection connectmysql  =  drivermanager.geiconnection(“jdbc:mysql://localhost:3306/myuser,root ,root );
4、创建statement对象:statement 类的主要是用于执行静态 sql 语句并返回它所生成结果的对象。通过connection 对象的 createstatement()方法可以创建一个statement对象。例如:statement statament = connection.createstatement(); 具体示例创建statement对象代码如下:
             statement statamentmysql =connectmysql.createstatement();
5、调用statement对象的相关方法执行相对应的 sql 语句:通过execuupdate()方法用来数据的更新,包括插入和删除等操作,例如向staff表中插入一条数据的代码:
       statement.excuteupdate( insert into staff(name, age, sex,address, depart, worklen,wage) + values ('tom1', 321, 'm', 'china','personnel','3','3000' ) ) ; 
通过调用statement对象的executequery()方法进行数据的查询,而查询结果会得到 resulset对象,resulset表示执行查询数据库后返回的数据的集合,resulset对象具有可以指向当前数据行的指针。通过该对象的next()方法,使得指针指向下一行,然后将数据以列号或者字段名取出。如果当next()方法返回null,则表示下一行中没有数据存在。使用示例代码如下:
       resultset resultsel = statement.executequery( select * from staff );
6、关闭数据库连接:使用完数据库或者不需要访问数据库时,通过connection的close() 方法及时关闭数据连接。
三、jdbc应用示例实验
实验内容:使用phpmyadmin在mysql中创建数据库(myuser),并添加实验所需的数据(新建staff表,添加一些记录);编写java程序,利用jdbc连接在mysql中创建好的数据库(myuser),对staff表格进行插入、更新、删除和查询等操作。
实验环境及开发工具:win7操作系统;jdk1.6.0_26;xampp1.7.7(mysql 5.1,  phpmyadmin);myeclipse 8.5
实验环境的搭建:可参考我的博客
java环境搭配:http://blog.csdn.net/cxwen78/article/details/6400798;windows系统xampp安装配置使用:http://blog.csdn.net/cxwen78/article/details/6847927
实验过程及步骤:
        1、下载mysql支持jdbc的驱动程序:如果已经有了,可跳过这一步。前往mysql官网(http://www.mysql.com/products/connector/ )下载驱动程序,,mysql针对不同的平台提供了不同的连接器,我们需要的是dbc driver for mysql (connector/j),如下图所示,点击 download 跟着网站的引导进行下载。打开下载得到的压缩包(mysql-connector-java-5.1.18.zip),将其中的java包(mysql-connector-java-5.1.18-bin.jar),复制到mysql目录下(仅是为了方便才放到这里),以备加载驱动程序时使用。
2、创建数据库:使用phpmyadmin,登录mysql,创建数据库myuser,并在其中插入一个名为staff的表格。并添加一些数据,操作步骤如图,登录进去mysql数据库后:
1)创建数据库,名称为myuser,编码为utf8_general_ci(支持中文);
2)新建表格,名称为staff,表格有8个字段;
3)8个字段的设置,包括名称、类型、值的长度、初始值、编码等等(点击查看大图);
4)添加成功后,查看的staff表格情况:
5)往表格中插入一些实验所需数据,需要插入两条,一个是员工lucy的,还有lili的:
3、在myeclips中创建项目并在项目中添加mysql驱动程序:创建的项目类型可以是java项目或者是java web项目都可以。这里创建的是web项目,项目名称可以随便取,我命名为“javawebchp07”。创建成功后将步骤1里下载得到的mysql驱动程序包(mysql-connector-java-5.1.18-bin.jar)添加到工程的build path中,添加过程如图所示:
4、编写jdbc连接mysql数据库的实例具体代码,jdbc_test.java:
具体代码:
其它类似信息

推荐信息