1、JAVA连接MySQL数据库的方法与技巧的研究摘要:Java语言是一种应用非常广泛的计算机编程语言,主要应用在C/S模式的程序开发、Web应用程序开发和嵌入式程序开发等。在实际项目开发中,无论是单机程序还是网络应用,都需要对数据库进行频繁的调用操作。所以对数据库的操作是核心的知识,掌握了程序对数据库操作的方法和技巧就会使程序的开发变得很轻松,提高项目开发的效率。关键词:Java语言 数据库操作 方法中图分类号:TP311.13 文献标识码:A 文章编号:1007-9416(2013)10-0042-02在任何计算机语言中数据库都占据很重要的位置,可以说如果没有数据库就没有计算机语言的应用,对于
2、Java语言中也是如此。当前主流应用的数据库服务器主要有,微软(MicroSoft)开发的SQL Server数据库、甲骨文(ORACLE)公司的MySQL数据库和Oracle数据库等,使用Java编程语言连接SQL Server数据库时,需要比较繁杂的系统环境配置,所以,在使用Java语言编写应用程序时,在数据库服务器的选择方面,多使用MySQL数据库或Oracle数据库。其中,中小型项目的开发一般多选用MySQL数据库,在大型项目在开发中,大多选用Oracle数据库。在Java语言中,要对数据库进行显示、增加、修改、删除等操作,主要采用JDBC(Java DataBase Connecti
3、on)技术。这种技术为开发人员提供了一个标准的API接口,程序员通过调用纯Java API来编写调用数据库在应用程序。除此之外,还可以通过编写程序调用JDBC的API,比较容易的实现对不同数据库的访问。在计算机语言的学习过程中,对于大多数人来说数据库的连接和操作是一个难点,笔者在多年的Java语言实践中积累的连接和操作数据库的方法和技巧与大家一起分享。1 Java连接MySQL数据库的方法使用Java语言访问多种不同数据库的时候,可以通过编写JDBC API调用来实现,在连接不同数据库在时候,安装相应的驱动程序即可。例如:要连接MySQL数据库,就需要安装MySQL数据库的驱动程序“mysql
4、-connector-java.jar”,这些驱动程序大多椒开源的,一般可以到官网或互联网上下载。下载后的驱动程序存放的位置有要求,如果你没有使用开放的开发环境,那么要将驱动程序存放在JDK安装目录下的lib文件夹中;如果你使用了Eclipse或其它的开发环境,那么要在这些环境中配置JDK的位置将驱动程序导入到里面。安装完成数据库在驱动程序之后,就可以编写程序来实现对数据库的连接。(1)Class.forName(“com.mysql.jdbc.Driver”);/此步骤为驱动程序的加载,另外驱动程序的名字还可以为org.gjt.mm.mysql.Driver。(2)Connection co
5、n=DriverManager.getConnection(“jdbc:mysql:/localhost:3306/数据库名字”,“用户名”,“密码”);/创建与数据库的连接通过以上两步骤后即可以完成与数据库的连接,上面代码1中forName()方法会抛出ClassNotFoundException,代码2中getConnection()方法会抛出SQLException异常,所以在程序中要进行异常的捕获与处理。2 数据库连接的技巧2.1 数据库连接代码的复用在一个项目开发过程中,需要经常的对数据库进行操作,那么我们不能在一个项目中多次写相同的代码,这样不利于代码的更新与维护,所以我们可以将连
6、接数据库的代码单独的写在一个Java文件的构造方法中,这样在需要进行数据库连接时生成该类的对象即可调用到数据库连接的代码。2.2 数据库连接对象的关闭在应用程序运行在过程中,当客户端发起查询或更新请求时,应用程序就会通过JDBC API新建一个连接,与数据库进行通信。如果,应用程序有多个客户端需要频繁对数据进行操作,那么,就需要建立相应多个在数据库连接。所以,编写应用程序在时候在每一个客户端使用数据库完成之后,一定要释放连接资源,包括Connection对象、Statement对象和ResultSet对象,否则会因资源耗尽而使应用程序崩溃。因此,程序员在编写应用程序时,在处理数据库操作方面必须
7、谨慎,保证每次的数据操作之后及时释放数据库连接资源,提高应用程序在稳定性和健壮性。一个数据库通信连接一般可以支持多达几百个的Statement对象。通常,在应用程序中,每个程序在调用都需要构造一个物理连接,而且每个Statement对象需要单独占用一个物理连接。由于建立物理连接的在过程需要通过网络反复沟通,比较浪费时间,所以在连接数据库时,尽最大可能避免或者减少单个Statement对象独占物理连接在情况。这样的设置对于一般的网站来说还可以,如果一些访问量比较大的网站,当连接数超过这个值的时候数据库服务器就会报错,出现网站瘫痪等现象。所以对数据库操作完成后,要调用相关对象的close()方法,
8、将所创建的数据库连接相关对象关闭,通常采取“先创建的对象后关闭”的原则。在使用java编写应用程序时,通常将将数据库的连接、关闭与异常处理同时写在一个单独的类文件的相关代码。在类的构造方法中编写数据库连接、数据库关闭对象的方法,此外也可以将其它数据库的操作方法写在此方法中,例如数据库的查询、修改、插入和删除等。当需要进行数据库操作时,生成这个类的对象,就可以进行数据库的连接、关闭以及其它相关操作,提高代码在利用率。(1)public class DBConnection (2)private String dbDriver=org.gjt.mm.mysql.Driver;(3)private
9、String url=jdbc:mysql:/localhost:3306/shop;(4)public Connection connection = null;(5)public DBConnection() (6)try (7)Class.forName(dbDriver).newInstance(); / 加载数据库驱动(8)connection = DriverManager.getConnection(url, root, 123);(9) catch (Exception ex) (10)System.out.println(数据库驱动程序加载失败!+ex.toString();
10、(11)(12)public void clo()(13)try(14)if(connection!=null)(15)connection.close();(16)catch(Exception e)(17)System.out.print(e.getMessage();(18)(19)2.3 数据库连接池的使用使用JDBC访问网络数据库虽然简单易用,但是这种方法对于Web开发来说,存在很多问题。比如文中前面提到的每一次Web请求都要建立一次数据库连接,即浪费时间又占用内存。而且对于大型的电子商务网站,同时几百人乃至几千人在访问量,在进行数据库连接操作时,要耗费大量在系统资源,影响网站的访问
11、速度。在标准JDBC API接口中,并没有提供资源的管理方法,资源管理必须由应用程序自己负责管理。虽然在JDBC规范中,强调了资源的关闭、回收及合理运用,但最稳妥的方式,还是为应用程序提供有效的管理手段。对数据库连接资源的管理是很重要的问题。我们可以使用“数据库连接缓冲池”来解决资源的频繁分配与释放所造成的问题。将数据库连接预先放在缓冲池中,当需要建立数据库连接时,就从“缓冲池”中取出,使用后再放回去。我们可以通过设定连接池中的最大连接数来防止太多的连接数量。3 结语上面讲述了Java连接MySQL数据库的方法和一些操作技巧,实际在进行数据库操作时还有很多可以优化的部分,除了优化代码部分以外,
12、还可以优化数据库,包括数据结构的调整、SQL语句的调整和服务器内存分配的调整等等。另外在Java Web开发中也可以利用Hibernate框架来操作数据库,它是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲地使用对象编程思维来操纵数据库。已经得到了广大企业和Java Web开发人员的认可。参考文献1黄丹.基于JDBC的数据库访问技术J.软件导刊,2010(03).2聂凯,曹慢慢.Mysql数据库的访问方法浅析J.科技资讯,2010(09).3张作宸.JDBC原理及操纵数据库方法J.科技信息,2009(02).4王丽辉,王东来.在Web系统中用连接池访问数据库J.吉林农业科技学院学报,2010(01).5王玉英.基于JSP的MySQL数据库访问技术J.电脑与信息技术,2011(01).