JDBC (Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序.
—-百度百科
本文测试数据库为university,测试表为student
SQL Server 2008
step1.数据库的准备
连接数据库后,依次进行以下三个准备步骤,如图所示:
step2.JDBC驱动包的准备
下载后解压 sqljdbc_4.0.2206.100_chs ,然后将解压文件夹里的 sqljdbc4.jar 导入eclipse。具体操作步骤:在所需的project右键选择 properties, 再弹出的窗口里依次进行以下操作,如图所示:
注:最后要勾选*zip,*jar 选项。
step3.测试
在该project里新建test.java类,用测试代码进行测试:
出现已经连上数据库 和测试结果证明成功连接。
测试代码如下,注意红框内内容因人而异:
package pk1;
import java.sql.*;
public class test {
public static void main(String[] args) {
String url="jdbc:sqlserver://localhost:1433; DatabaseName=university";
String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
Statement st;
Connection con;
try{
Class.forName(driver);
}
catch(ClassNotFoundException event){System.out.print("无法创建驱动程式实体!");}
try{
con=DriverManager.getConnection(url,"sa","123456");
con.setAutoCommit(true);
System.out.println("已经连接到数据库...");
st=con.createStatement();
ResultSet rs=st.executeQuery("SELECT * from student ");
while(rs.next())
{ String name=rs.getString("stu_name");
System.out.println(name);
}
st.close();
con.close();
}
catch(SQLException e1) {System.out.println("异常"+e1);}
}
}
MySQL
step1.JDBC驱动包的准备
无需解压可直接导入eclipse,与上面SQL Server step2操作方式相同。
step2.测试
在该project里新建test.java类,用测试代码进行测试,注意一定要以run as application 运行:
出现两条success语句即Success loading Mysql Driver! 和 Success connect Mysql server! 和测试结果证明成功连接。(测试结果里第二行为warning不影响结果)
测试代码如下,注意红框内内容因人而异:
import java.sql.*;
public class test {
public static void main(String args[]) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("Success loading Mysql Driver!");
}
catch (Exception e) {
System.out.print("Error loading Mysql Driver!");
e.printStackTrace();
}
try {
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306?serverTimezone=UTC","root","123456");
System.out.println("Success connect Mysql server!");
Statement stmt = connect.createStatement();
ResultSet rs = stmt.executeQuery("select * from university.student");
while (rs.next()) {
System.out.println("查询的同学的学号是:");
System.out.println(rs.getString("stu_num"));
}
}
catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
}
}
}
更新:鉴于CSDN上传资源总是有bug,已将资源转到百度云盘,这里有一篇关于如何绕过百度网盘客户端下载大文件的文章,帮助我们不受云盘限速影响,顺利的下载资源,欢迎大家尝试。文章链接:
http://www.jianshu.com/p/6cced261a094