Java的JDBC初学习
JDBC常用API
Driver接口
该接口专门提供给数据库厂商使用
DiverManager类
用于加载JDBC驱动并且创建与数据库的连接。
Connection接口
代表Java程序和数据库的连接,只有获得连接对象后,才能访问数据库,并操作数据表。
常用方法
Statement接口
用于执行静态的SQL语句,并返回一个结果对象。Statement接口对象可以通过Connection实例的createStatement()方法获得,该对象会把静态的SQL语句发送到数据库中编译执行,然后返回数据库的处理结果。
PreparedStatement接口
是Statement接口的子接口,用于执行预编译的SQL语句,该接口扩展了带有参数SQL语句的执行操作,应用该接口中的SQL语句可以使用占位符"?"来代替其参数,然后通过setXXX()方法为SQL语句的参数赋值
ResultSet接口
用于保存JDBC执行查询时返回的结果集,该结果集封装在一个了逻辑表格中。在ResultSet接口内部有一个指向表格数据行的指针,初始化时,指针在表格的第一行前,调用next()方法可将游标移动到下一行。如果下一行没有数据,则返回false。在应用程序中经常使用next()方法作为while循环的条件来迭代ResultSet结果集。
代码示例
package lmw13;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class UserEx {
public static void main(String[] args) throws Exception{
Connection connection=null;
Statement statement=null;
ResultSet resultSet=null;
String driver = "com.mysql.cj.jdbc.Driver";
String url = "jdbc:mysql://127.0.0.1:6809/jdbc?useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC";
String username = "root";
String password = "root";
try {
Class.forName(driver);
connection=DriverManager.getConnection(url,username,password);
statement=connection.createStatement();
resultSet=statement.executeQuery("select * from users");
while (resultSet.next()){
System.out.println(resultSet.getInt("id")+":"+resultSet.getString("name")+":"+resultSet.getString("password")+":"+resultSet.getString("email")+":"+resultSet.getDate("birthday"));
}
}catch (Exception e) {
e.printStackTrace();
}finally {
resultSet.close();
statement.close();
connection.close();
}
}
}