首先,需要有一个数据库,我用的是SQL server 2008版,然后需要去下载一个JDBC驱动,我用的是JDBC for SQLserver 6.0版本,可以去下载这个
sqljdbc_6.0.8112.100_chs.tar.gz: https://page63.ctfile.com/fs/15198163-215756610
下载解压之后里面会有jre7与jre8,他们两个功能一样的,只是对应不同版本。
接下来就要开始连接数据库啦
(1)用windows验证方式连接数据库:这种方式可能要求管理员权限,至少部分情况下会导致无法正常访问数据库。因此不建议采用!
(2)用sql server身份验证方式连接数据库。
如果安装sql server 2008 时是以windows身份验证安装的,用户都是sa,密码是你在装数据库时设置的。
再接下来,要将JDBC驱动包添加到要连接数据库的工程下:
1.右击要导入jar包的项目工程,点击properties
2.左边选择java build path,右边选择libraries
3.选择add External jars
4.选择jar包的所在路径下的sqljdbc4.jar,点击打开。
准备工作就完成了,接下来就要开始连接了
我建的数据库名为test1 ,其中建了一个叫做Student的表,有sno 、 sname 、sage三个属性。
连接数据库代码:
String url = "jdbc:sqlserver://localhost:1433;DatabaseName= XXXX;";
conn = DriverManager.getConnection(url ,"sa","XXXX");
其中第一个XXXX是你要连接的数据库的名字,第二行的XXXX是你数据库用户密码、
完整代码:
在用Java连接数据库之前,先创建一个数据库或者导入一个数据库,然后Java连接并访问该数据库!
package JDBC_Test;import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class Test {
public static void main(String[] args) {
Connection conn;
Statement stmt;
ResultSet rs;
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test1;";
String sql = "select * from student";
try {
// 连接数据库
conn = DriverManager.getConnection(url, "sa", "sqlnext");
// 建立Statement对象
stmt = conn.createStatement();
/**
* Statement createStatement() 创建一个 Statement 对象来将 SQL 语句发送到数据库。
*/
// 执行数据库查询语句
rs = stmt.executeQuery(sql);
/**
* ResultSet executeQuery(String sql) throws SQLException 执行给定的 SQL
* 语句,该语句返回单个 ResultSet 对象
*/
while (rs.next()) {
int id = rs.getInt("Sno");
String name = rs.getString("Sname");
int age = rs.getInt("Sage");
System.out.println("Sno:" + id + "\tSame:" + name + "\tSage:" + age);
}
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
}
}
程序运行结果为:
Sno:200215121 Same:李永 Sage:20
Sno:200215122 Same:张三 Sage:19
Sno:200215123 Same:王思 Sage:21
Sno:200215124 Same:毕羽 Sage:20
。