JDBC学习(二、操作JDBC步骤,及相关API)

一、操作JDBC的准备

1.拷贝MySQL的驱动包到项目中的lib目录下:mysql-connector-java-5.1.x-bin.jar
2.build path,告诉项目去哪里去找字节码文件。

操作JDBC的第一步,获取JDBC的连接对象:Connection.
步骤1: 加载注册驱动.
        Class.forName(“com.mysql.jdbc.Driver”);
        为什么说这行代码就在完成加载注册驱动的操作。
         1):把com.mysql.jdbc.Driver这份字节码文件加载进JVM。

         2):把字节码加载进JVM之后,就会立刻执行该类的静态代码块。


步骤2: 获取连接对象,通过DriverManager的静态方法(getConnection).
         Connection conn =  DriverManager.getConnection (String url,String username,String password);
         参数:
              url             : jdbc:mysql://数据库服务器安装电脑的主机IP:端口/哪一个数据库名称
                               连接本机:  jdbc:mysql://localhost:3306/test
                               如果连接的数据库服务器在本机,并且端口是3306,则可以简写:
                                               jdbc:mysql:///test
              username: 所连接数据库服务器的用户账号(root)
              password: 所连接数据库服务器的用户密码(admin)
验证已经获取连接:可以在MySQL控制台,使用命令:show processlist; 查看MySQL运行进程,也可以在JAVA中输出连接对象查看。
-----------------------------------------------------------------------------------------------------
从Java6(JDBC4.0)开始,可以不再加载注册驱动,直接通过DriverManager获取连接对象。

为啥不再需要加载注册驱动了?
  从Java6开始,规范要求每一个JDBC驱动的包,都必须带有META-INF/services/java.sql.Driver文件。

开发建议:依然还是建议手动的加载注册驱动.  如此,可以兼容之前的JDK版本,在JavaWeb中必须手动加载。




二、JDBC相关的API

1.操作JDBC的步骤(贾琏欲执事):
----------------------------------
    1):加载注册驱动.
    2):获取连接对象.
    3):创建/获取语句对象
    4):执行SQL语句
    5):释放资源


2.Connection接口的常用方法

    Statement createStatement()  创建一个 Statement 对象来将 SQL 语句发送到数据库。
    PreparedStatement prepareStatement(String sql) :获取预编译语句对象。
       参数:sql,并不是一个静态SQL,而是带有占位符的SQL(?).
    void close():关闭连接对象


3.Statement接口的常用方法

    用于执行静态 SQL (写死的SQL,可以执行运行的SQL)语句并返回它所生成结果的对象。
    int executeUpdate(String sql):可以执行DML(增删改)和DDL语句,如果是执行DDL什么都不返回,执行DML返回受影响的行数。
    ResultSet executeQuery(String sql) :执行给定的 DQL语句,该语句执行之后返回一个 ResultSet 对象。
    void close():关闭语句对象


4.PreparedStatement接口的常用方法

    是Statement的子接口,表示预编译的 SQL 语句的对象,设置占位符参数(告诉SQL中的?到底表示哪一个值):

 void  setXxx(int parameterIndex, Xxx value):  xxx表示数据类型,比如:String,int,Long等,parameterIndex:设置第几个占位符?(从1开始),value:需要设置的参数值。
    int executeUpdate():可以执行DML(增删改)和DDL语句,如果是执行DDL什么都不返回,执行DML返回受影响的行数.
    ResultSet executeQuery() :执行给定的 DQL语句,该语句执行之后返回一个 ResultSet 对象。
                注意:此时不需要传递SQL参数
    void close():关闭语句对象。


5.ResultSet接口的常用方法

   表示数据库结果集的数据表,通常通过执行查询数据库的语句生成.
   ResultSet 对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next 方法将光标移动到下一行;因为该方法在 ResultSet 对象没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。(类似迭代器操作)
-------------------------------------------------------------------------------------
  boolean  next(): 先判断光标是否能向下移动,如果可以,则往下移动。
  xxx:表示数据类型,比如:int,long,String等,根据当前列的数据类型来选择。
  xxx  getXxx(int columnIndex) :  获取当前光标行的第N列的数据,从1开始计算。
  xxx  getXxx(String columnName) :获取当前光标行的指定列名的列的数据,推荐。
  void  close():关闭结果集对象



猜你喜欢

转载自blog.csdn.net/qq_38741971/article/details/80611595
今日推荐