重新老老实实去跟着视频做了一次。

一、代码实现

  1. 加载驱动程序,反射技术,Class.forName(“com.mysql.jdbc.Driver”);
  2. 获得数据库的链接,Connection conn = (Connection) DriverManager.getConnection(URL, USER, PASSWORD);
  3. 通过数据库的链接操作数据库,Statement stmt = (Statement) conn.createStatement();

在前面定义数据库信息:

  1. jbdc里有DriverManager方法,用getgetConnection方法,DriverManager.getConnection(URL, USER, PASSWORD)获得链接。
  2. 创建一个Connection对象,Connection conn = (Connection) DriverManager.getConnection(URL, USER, PASSWORD);
  3. 再创建一个statement的对象,Statement stmt = (Statement) conn.createStatement();通过Statement 对象去执行mysql语句。

(提问:是不是非要statement对象?能不能自己创一个对象?试验一下)

明显是不行的,statement对象是jdbc专门提供的用来执行mysql语句的接口。

(提问:数据库中的Statement对象 应该怎么理解?)

可以理解成一个专门在jdbc连接中传递SQL语句的对象。

Statement对象分为以下三种:

  1. Statement: 提供了基本查询的接口,一般用来执行简单的、无参数的查询语句。
  2. PreparedStatement:从Statement类继承过来的类,一般用来执行带IN参数或不带参数的查询语句。
  3. CallableStatement: 基类是PreparedStatement, 一般用来对存储过程的查询,可以处理Out参数。

sql语句的增删改操作基本都是execute打头的,查询就是executeQuery开始。

如果要输出结果,需要用到的是ResultSet方法,例如:

之后通过while(rs.next())获得结果。rs.next()一旦有继续输出,就进行循环,输出rs对象中的字段值。

二、总结

  1. 加载mysql驱动包
  2. 然后用managerDriver获得链接,用方法导出Connection 链接对象。
  3. 因为要执行sql语句,所以要用到jdbc进行数据库操作的接口。通过方法导出Statement 对象。
  4. 要执行的是查询语句,所以用executeQuery执行sql语句。
  5. 接下来要输出结果,所以要用resultset rs对象来获得数据。