JDBC的简单笔记

时间:2022-08-13 22:47:49

JDBC笔记:

  JDBC:java database connectivity SUN公司提供的一套操作数据库的标准规范。
  JDBC与数据库驱动的关系:接口与实现的关系。

  JDBC规范(掌握四个核心对象):
    DriverManager:用于注册驱动(驱动管理)
    Connection: 表示与数据库创建的连接(连接,关系)
    Statement: 操作数据库sql语句的对象(声明,陈述,清单报表)
    ResultSet: 结果集或一张虚拟表(结果集合)

DriverManager(类):
  DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用
    原因有2个:
    > 导致驱动被注册2次。
    > 强烈依赖数据库的驱动jar

  Class.forName("com.mysql.jdbc.Driver");

  getConnection(url, user, password);

Connection(接口):
  Statement createStatement(); //创建操作sql语句的对象

    ps = conn.prepareStatement("select * from user where name=?");
    ps.setString(1,"tom");

Statement(接口):
  ResultSet executeQuery(String sql) 只能执行select语句。

  int executeUpdate(String sql) 能执行insert update delete语句。(返回受影响的行数)

  boolean execute(String sql) 此方法可以执行任意sql语句。(返回是否返回 ResultSet)

  ResultSet(接口):
  boolean next() 将光标从当前位置向下移动一行

  boolean previous() 将光标从当前位置向上移动一行

  boolean absolute(int row) ; void afterLast() ; void beforeFirst()

  int getInt(int colIndex) 根据游标查找, 游标从1开始
  int getInt(String colLabel) 根据列名查找

  float getFloat() :参数同上

  double getDouble() : 参数同上

  String getString() :参数同上

  Date getDate() :参数同上

  void close() 关闭ResultSet 对象

preparedStatement:
  预编译对象
  性能高
  会将sql语句预先编译
  sql语句中的参数会发生变化,会过滤掉用户输入的关键字。