一、 JDBC API在JDK中被分为两个包:java.sql和javax.sql,java.sql.Driver是所有JDBC驱动程序需要实现的接口,以下是几种主要数据库的JDBC驱动的类名
二、加载与注册JDBC驱动
1、加载JDBC驱动是调用 Class类的静态方法forName(),向其加载的JDBC驱动的类名
2、DriverManager类是驱动程序管理器类,提供了registerDriver()方法来注册驱动程序类的实例
2、PreparedStatement:SQL语句在程序执行前必须被预编译,如果有十条SQL语句都执行插入操作,则将被编译十次,这样是比较低效的,PreparedStatement接口从Statement接口继承而来,它的对象表示一条预编译过的SQL语句,通过调用Connection对象的prepareStatement()方法来得到PrepareStatement对象如
3、CallableStatement:此对象用于执行SQL存储过程,CallableStatement接口从PreparedStatement接口继承而来。在执行存储过程之前,凡是存储过程中类型为OUT的参数必须被注册。
- com.microsoft.jdbc.sqlserver.SQLServerDriver
- com.microsoft.sqlserver.jdbc.SQLServerDriver
- oracle.jdbc.driver.OracleDriver
- com.mysql.jdbc.Driver
- org.gjt.mm.mysql.Driver
- Connection connect(String url, Properties info) throws SQLException
二、加载与注册JDBC驱动
1、加载JDBC驱动是调用 Class类的静态方法forName(),向其加载的JDBC驱动的类名
2、DriverManager类是驱动程序管理器类,提供了registerDriver()方法来注册驱动程序类的实例
三、连接数据库
调用 DriverManager类的getConnection()方法连接数据库,返回一个Connection对象,在DriverManager类中提供了3个重载的getConnection()方法,每个方法里都有一个String url参数,不同的数据库的url不同,如
- jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs
- jdbc:oracle:thin:@localhost:1521:ORCL
- jdbc:mysql://localhost:3306/databasename
- sun.jdbc.odbc.JdbcOdbcDriver
四、访问数据库
连接数据库后,需要对数据库进行访问,执行SQL语句,在java.sql包中提供了3个接口,分别定义了对数据库调用 的不同方式 ,3个接口是:Statement、PreparedStatement、CallableStatement
- Statement createStatement() throws SQLException
2、PreparedStatement:SQL语句在程序执行前必须被预编译,如果有十条SQL语句都执行插入操作,则将被编译十次,这样是比较低效的,PreparedStatement接口从Statement接口继承而来,它的对象表示一条预编译过的SQL语句,通过调用Connection对象的prepareStatement()方法来得到PrepareStatement对象如
- PreparedStatement pstme = conn.prepareStatement("inser employee values(?,?,?)");
- pstmt.setInt(1,1);
- pstmt.setString(2,"ye");
- pstmt.setDate(3,java.sql.Date.valueOf("2003-3-3");
- pstmt.executeUpdate();
3、CallableStatement:此对象用于执行SQL存储过程,CallableStatement接口从PreparedStatement接口继承而来。在执行存储过程之前,凡是存储过程中类型为OUT的参数必须被注册。
- CallableStatement cstmt = conn.prepareCall("call proc_change(?,?)");
- cstmt.registerOutParameter(1,java.sql.Types.INTEGER);