JSP Web开发入门系列(一)---JDBC基础
我从.net转到java平台多少有些不同,仅以这个开发入门系列是个人自学的记录。第一篇主要是利用jdbc连接数据库和执行sql查询语句。
开发环境:winXPsp3+JDK1.6+MyEclipse7.5+MySql5.1.
具体的jdk环境配置就不写了,至于JDBC for MySQL的配置也是非常简单的。只要将Mysql的JDBC驱动程序下载解压,再在MyEclipse工程中添加mysql-connector-java-5.1.13-bin.jar。如下图:
在搭建好环境后,我们来了解下JDBC,它是一种基于java的数据库访问接口,提供了查询,更新数据库的方法。JDBC的实现依赖于数据库厂商提供符合JDBC规范的驱动程序。有许多持久化的框架是基于JDBC的,如著名的Hibernate。“裸用”JDBC只是为了熟悉一下java体系,理解一下技术原理。
其实操作数据库都是四个步骤:
1.读入数据库驱动。当然在windows的时候这一步是不用做的。但是我们使用的JDBC是需要通过代码来读入数据库驱动:
2.建立数据库连接。要在代码中提供包括:数据库服务器名(IP地址,域名或者机器名),端口(可以默认),数据库名,用户名,密码这五类信息,才成功连接数据库。
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/viki?characterEncoding=UTF8&allowMultiQueries=true","root","9527");
在我的代码中数据库名是:viki,用户名是:root,密码是:9527. 至于allowMultiQueries这行字符将在下面讲到。
3.创建或者获得数据操作对象。在获得该对象后,我们就可以对数据库进行查询,修改和执行存储过程。
Statement stat =conn.createStatement();
4.显式关闭数据连接,关闭数据库。
stat.close();
conn.close();
在网上经常有帖子询问:为什么不能在java中执行多条sql语句?这个问题需要回到第二步,只要在连接mysql数据库的字符串上allowMultiQueries=ture就能够轻松将其地解决。(另外一种方法是使用statement的addbatch方法来实现。)
下面贴出基于JDBC,使用多条sql语句来操作数据库,实现数据库查询的完整实例代码。
import java.sql.*;
publicclass ResultFromExcute {
/**
* @param args
*/
publicstaticvoid main(String[] args) throws Exception {
// TODO Auto-generated method stub
Class.forName("com.mysql.jdbc.Driver");
//mysql_jdbc 驱动默认不支持多结果集,需要添加allowMultiQueries=true;
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/viki?characterEncoding=UTF8&allowMultiQueries=true","root","9527");
Statement stat =conn.createStatement();
//执行两句sql语句
String selectData ="SELECT * FROM test;"+"SELECT * FROM pet";
if(stat.execute(selectData))
{
ResultSet result =null;
do
{
//依次获得执行两条select语句的resultset
result = stat.getResultSet();
while(result.next())
{
//System.out.println(result.getString(2)+" ");
System.out.println(result.getString("name"));
………………
}
}
while(stat.getMoreResults());
}
}
}