JDBC驱动程序是Java程序和数据库之间的转换层,数据库驱动程序负责将JDBC调用成特定的数据库。
JDBC操作数据库的步骤如下:
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
try {
// 1.加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.获取数据库连接
// 其中url叫套接字,不同的数据库不同的定义规范
// MySQL: jdbc:mysql://hostname:port/databasename
// Oracle: jdbc:oracle:thin:@hostname:port:databasename
// 作为本机:localhost 127.0.0.1
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/tech2", "root", "");
// 3.创建查询对象
ps = conn.prepareStatement("select id,name,code,age,sex from t_student");
// 4.获取查询的结果集
ResultSet rs = ps.executeQuery();
// 5.遍历结果集输出数据
while (rs.next()) {
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("name:" + name + "\tage:" + age);
}
} catch (ClassNotFoundException e) {
System.out.println("驱动加载失败");
} catch (SQLException e) {
System.out.println("查询对象创建失败");
} catch (Exception e) {
e.printStackTrace();
} finally {
// 6.关闭连接
if (null != ps) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (null != conn) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
在查询对象中,可以使用Statement和PreparedStatement,但是一般都使用预处理的PreparedStatement,一方面可以通过参数设置提供代码的质量,另一方面在进行数量级加大的查询或更新操作时,PreparedStatement效率更高。