今天终于搞定用jdbc连接数据库了,太兴奋了,赶快写下来。
首先当然是安装数据库软件了,这里使用的是mysql,sqlsever那个乱七八糟的东西老是出问题,于是决定改投mysql的怀抱,这个挺好的,而且免费开源。安装方法从前写过,不再写了。
然后下载mysql的驱动。这里要详细说一下,SUN公司开发Java语言的时候,在数据库这里只是提供了一个标准的接口,或者说是规范,叫做JDBC,这个东西单独放在那里没有任何作用,根本无法连接任何的数据库,只有当你下载相应的数据库驱动程序之后,才可以用JDBC通过这个驱动程序和数据库通信。
sqlsever就有它的专门的驱动程序,在微软网站上可以下载到。SUN公司自己也开发了数据库驱动程序,叫做JDBC-ODBC驱动程序,是通过建立ODBC桥来连接Windows数据库,但是因为效率低并且有限制,现在一般都不推荐使用。
使用mysql当然要下载它的驱动了,这个在mysql的官方网站就可以下载到,新版本是mysql-connector-java-3.1.14.zip,下载完成后解压缩,把其中的mysql-connector-java-3.1.14-bin.jar文件和mysql-connector-java-3.1.14-bin-g.jar加到环境变量的classpath中,因为只有这样里面的类文件才可以使用。
为了能够测试成功,应该新建一个数据库,我建的叫jspstudy,在里面建了一个表叫做addressbook,添加了一条记录,mysql> insert into addressbook (name,address,phone) values ('jjx','zhejiangyuyao','0574-2222222');
建立一个java文件,输入如下代码:
import java.sql.*;
import com.mysql.jdbc.*;
public class Database
{
public static void main(String[] args) throws Exception,SQLException
{
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jspstudy?user=root&password=500158");
java.sql.Statement sql=conn.createStatement();
java.sql.ResultSet rs=sql.executeQuery("select * from addressbook");
while(rs.next())
{
System.out.println(rs.getString(3));
}
}
}
编译运行,如果可以看到输出结果的话说明数据库连接成功了。
注:Class.forName("com.mysql.jdbc.Driver");用来加载驱动程序;jdbc:mysql://localhost:3306/jspstudy?user=root&password=******是数据库URL地址,前面都是固定的,3306是端口号,安装mysql的时候有提示,jspstudy是数据库的名字,user是用户名,password后面填写密码