What’s JDBC?
JDBC(Java Data Base Connectivity——Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
How to use(一般步骤)
//新驱动包可以不用手动加载!!!!
//Class.forName("com.mysql.cj.jdbc.Driver");
//准备数据库URL、数据库账号密码
String URL = "jdbc:mysql://localhost:3306/jdbcTest?useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "root";
//使用适当的驱动程序类建立与数据库的连接
Connection conn = DriverManager.getConnection(URL, user, password);
//创建SQL语句对象(Connection接口中针对无参SQL语句的方法)
Statement stmt = conn.createStatement();
//创建SQL语句对象(Connection接口中针对有参SQL语句的方法==个人常用)
String sql = "select * from test";
PreparedStatement pstm = conn.prepareStatement(sql);
//创建用于存储返回的结果集的对象
ResultSet rs = pstm.executeQuery();
//对结果集对象rs进行遍历
while (rs.next()) {
String id = rs.getString(1);
String name = rs.getNString(2);
System.out.println(id + "\t" + name);
}
//采用逆向顺序关闭所有JDBC连接,释放资源
rs.close();
pstm.close();
stmt.close();
conn.close();
One more thing
对驱动程序包的内容提点后,进行了使用mysql-connector-java-8.0.15.jar新包对新/旧路径名分别进行了实测。
New: Class.forName("com.mysql.cj.jdbc.Driver")
Old: Class.forName("com.mysql.jdbc.Driver")
在使用新驱动包的基础上,分别进行了初始化加载、注册,新语句自然没有任何Warning。
对于Old语句,驱动可以加载注册成功,但会打印一句话
"Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary."
过去的加载类com.mysql.jdbc.Driver已经不赞成使用了, 新的驱动类是“com.mysql.cj.jdbc.Driver”,这个驱动通过SPI(Service Provider
Interface,服务提供者接口)自动注册并且不再有必要手动加载,自动注册并且不再有必要手动加载!!!自动注册并且不再有必要手动加载!!!自动注册并且不再有必要手动加载!!!重要的事情说三遍!!!