JDBC(一)

一、概述
    作用:为多种关系数据库提供统一访问。
    扩展:

二、JDBC使用
    1、准备连接MySQL数据库的配置信息
            a.用户名
            b.密码
            c.MySQL数据库的地址:  jdbc:mysql://MySQL主机IP/端口号/指定数据库名称
            d.MySQL数据库的驱动类:com.mysql.jdbc.Driver(全类名)

    2、加载(安装)MySQL数据库的驱动类
            利用Class类的forName(全类名)
        
            补充:如果运行当前程序,报错了的原因:
                            a.没有导入MySQL的驱动包
                            b.MySQL数据库的驱动类定义错误
    3、获取MySQL数据库的连接对象
            3.1、利用DriverManager类获取MySQL数据库的连接对象
                            DriverManager:管理一组 JDBC 驱动程序的基本服务。
            
static ConnectiongetConnection(String url) 
          试图建立到给定数据库 URL 的连接。
static ConnectiongetConnection(String url, Properties info) 
          试图建立到给定数据库 URL 的连接。
static ConnectiongetConnection(String url, String user, String password) 
          试图建立到给定数据库 URL 的连接。

            3.2、当上面的方法返回Connection对象时,Java和MySQL驱动同时提供了该类型:
                        其实,这两个类型的作用是一样的。
                        建议使用java提供的。(java提供的类型更具通用性)

            补充:如果在这儿报错,原因:
                                a.用户名写错
                                b.密码写错
                                c.地址写错
                                d.网络错误

    4、向MySQL数据库发送SQL语句(增删改查)
            4.1、定义要发送的SQL语句
                    String sql = “SELECT * FROM student”;
            4.2、利用Statement类向MySQL发送SQL语句
                        4.2.1利用Connection对象来获取Statement对象
                      
 StatementcreateStatement() 
          创建一个 Statement 对象来将 SQL 语句发送到数据库。
 StatementcreateStatement(int resultSetType, int resultSetConcurrency) 
          创建一个 Statement 对象,该对象将生成具有给定类型和并发性的 ResultSet 对象。
 StatementcreateStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) 
          创建一个 Statement 对象,该对象将生成具有给定类型、并发性和可保存性的 ResultSet 对象。

                          4.2.2利用Statement对象
 booleanexecute(String sql) 
          执行给定的 SQL 语句,该语句可能返回多个结果。
 booleanexecute(String sql, int autoGeneratedKeys) 
          执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序所有自动生成的键都应该可用于获取。
 booleanexecute(String sql, int[] columnIndexes) 
          执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。
 booleanexecute(String sql, String[] columnNames) 
          执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。
                                excute(String sql)方法:执行增删查改SQL语句(返回语句执行是否成功)

 ResultSetexecuteQuery(String sql) 
          执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。
            executeQuery(String sql)方法:执行查询SQL语句(返回ResultSet类型的结果集)

 int   executeUpdate(String sql) 
          执行给定 SQL 语句,该语句可能为 INSERTUPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
 intexecuteUpdate(String sql, int autoGeneratedKeys) 
          执行给定的 SQL 语句,并用给定标志通知驱动程序由此 Statement 生成的自动生成键是否可用于获取。
 intexecuteUpdate(String sql, int[] columnIndexes) 
          执行给定的 SQL 语句,并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。
 intexecuteUpdate(String sql, String[] columnNames) 
          执行给定的 SQL 语句,并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。
            executeUpdate(String sql) 方法:执行增删改SQL语句

                补充:程序在此处出错,报错可能原因:
                            a.SQL语句定义错误
                            b.Statement对象调用execute方法错误

    5、关闭相应连接
            Connection对象
            Statement对象
        *先关闭Statement对象,后关闭Connection对象


二、JDBC的核心类或对象
    1、DriverManager类    
            作用:管理一组


面试:writer和stream的区别。

















郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。