1.JDBC由两层构成,一层是JDBC API,负责在Java应用程序与JDBC驱动程序管理器直接进行通信,负责发送应用程序中的spl语句。另一层是JDBC驱动程序API,与实际连接数据库的第三方驱动程序进行通信。
2.JDBC数据库应用模型中各部分功能:
~Java程序包括应用程序,Applet以及Servlet,这些类型的程序都可以利用JDBC实现对数据库的访问。JDBC在其中所起到的作用包括:请求与数据库建立连接,向数据库发送SQL请求,处理查询,错误处理等。
~JDBC驱动程序管理器动态的管理和维护数据库查询所需要的驱动程序对象,实现Java程序与特定驱动程序的连接。他完成的主要任务包括:为特定的数据库选取驱动程序,处理JDBC初始化调用,为每一个驱动程序提供JDBC功能入口,为JDBC调用传递参数等。
~驱动程序由JDBC方法调用,向特定的数据库发送sql语句,并为程序获取结果。驱动程序主要完成下列任务:建立与数据库的连接,向数据库发送请求,在用户程序请求时进行翻译,错误处理等。
~数据库指的是数据库管理系统和用户程序所需要的数据库。
3.用JDBC访问数据库有以下几个步骤:
~建立ODBC数据源。
~装入JDBC驱动管理程序,DriverManager类管理各种数据库驱动程序,建立新的数据库连接。调用Driver类中的Class.forName()将显示的加载驱动程序类:Class.forName("com.sybase.jdbc2.jdbc.SybDriver");
~与数据库建立连接的方法:
DriverManager.getConnetion(String url)
DriverManager.getConnetion(String url, Properties pro)
DriverManager.getConnetion(String url, String user, String password)
其中,url指的是使用那个驱动程序以及连接数据库所需要的其他信息,格式为:jdbc:<subprotocol>:<subname>;
~与数据库建立连接后,需要向数据库发送sql语句,有三个类用于向数据库发送sql语句:
·Statement类,调用其createStatement()方法可以创建语句对象,然后利用该语句对象可以向数据库发送具体的sql语句。
·PreparedStatement类,调用其方法prepareStatement()创建预处理语句对象,可以向数据库发送带有参数的sql语句。
·CallableStatement类的方法prepareCall()可用于创建对象,该对象可用于向数据库发送调用存储过程的sql语句。
4.数据库连接范例(MySQL)
以下示例采用类型4驱动模式下的格式串,设所用的数据库统一为db。
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc: mysql: //localhost: 3306/ db";
Connection con = DriverManager.getConnection(url, user, password);
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CUNCUR_UPDATABLE);