笔记: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 Connection getConnection(String url) 
          试图建立到给定数据库 URL 的连接。
static Connection getConnection(String url, Properties info) 
          试图建立到给定数据库 URL 的连接。
static Connection getConnection(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对象
                      
 Statement createStatement() 
          创建一个 Statement 对象来将 SQL 语句发送到数据库。
 Statement createStatement(int resultSetType, int resultSetConcurrency) 
          创建一个 Statement 对象,该对象将生成具有给定类型和并发性的 ResultSet 对象。
 Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) 
          创建一个 Statement 对象,该对象将生成具有给定类型、并发性和可保存性的 ResultSet 对象。
 
                          4.2.2利用Statement对象
 boolean execute(String sql) 
          执行给定的 SQL 语句,该语句可能返回多个结果。
 boolean execute(String sql, int autoGeneratedKeys) 
          执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序所有自动生成的键都应该可用于获取。
 boolean execute(String sql, int[] columnIndexes) 
          执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。
 boolean execute(String sql, String[] columnNames) 
          执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。
                                excute(String sql)方法:执行增删查改SQL语句(返回语句执行是否成功)
 
 ResultSet executeQuery(String sql) 
          执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。
            executeQuery(String sql)方法:执行查询SQL语句(返回ResultSet类型的结果集)
 
 int    executeUpdate(String sql) 
          执行给定 SQL 语句,该语句可能为 INSERTUPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
 int executeUpdate(String sql, int autoGeneratedKeys) 
          执行给定的 SQL 语句,并用给定标志通知驱动程序由此 Statement 生成的自动生成键是否可用于获取。
 int executeUpdate(String sql, int[] columnIndexes) 
          执行给定的 SQL 语句,并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。
 int executeUpdate(String sql, String[] columnNames) 
          执行给定的 SQL 语句,并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。
            executeUpdate(String sql) 方法:执行增删改SQL语句
 
                补充:程序在此处出错,报错可能原因:
                            a.SQL语句定义错误
                            b.Statement对象调用execute方法错误
 
    5、关闭相应连接
            Connection对象
            Statement对象
        *先关闭Statement对象,后关闭Connection对象
 

二、JDBC的核心类或对象
    1、DriverManager类    
            作用:管理一组
 
待补充...
 
 
面试:writer和stream的区别。
 
 
 
 
 
 
 
 
 
 
 
 
 



 

 

posted @ 2015-03-24 22:35  DoIStarry  阅读(139)  评论(0编辑  收藏  举报