1)规范(标准):SUN制定的JAVA应用程序连接数据库的规范(标准)。
2)类和接口的集合。
1)JDBC结构:Java程序,JDBC管理器,驱动程序,数据库四部分
使用JDBC/ODBC桥来利用ODBC的接口访问数据库
通过直接的JDBC驱动程序来实现数据库的访问
用于JDBC编程的类都包含在java.sql 包 中
用来装载驱动程序,管理各种不同的数据库驱动程序,并且为创建新的数据库联接提供支持。
public static synchronize Connection getConnection(String url,String user,String password)
url形式为:
jdbc::
数据库的位置:数据库所在的主机,所使用的端口
Oracle:1521;
MicroSoft SQL Server:1433;
MySQL:3306。
数据库的信息:数据库的名字。
jdbc:mysql://localhost:3306/bookstore
用于建立一个到达指定数据库的连接,返回一个Connection对象。
代表应用程序到数据库的一个连接,完成对某一指定数据库的联接。
statement creatStatement()
用于建立一个语句对象,以便执行没有参数的SQL查询和更新。
void close();
用于关闭当前的连接
用来执行查询和更新操作
1)ResultSet executeQuery(String sql)
执行SQL语句,返回结果为ResultSet对象
2)boolean execute(String sql)
执行sql语句,若结果为ResultSet则返回true,否则返回false。可使用getResultSet方法或getUpdateCount方法运行结果
3)ResultSet getResultSet()
返回目前的ResultSet
4)int executeUpdate(String sql)
执行SQL语句Insert,Update,Delete,返回行数或0,另外它也可以执行DDL(Data Definition Lanbuage)语言。
5)void close()
释放Statement所连接的数据库和JDBC资源。
执行查询后返回的结果集
1)xxx getxxx(int columnindex)
xxx getxxx(String columnName)
xxx表示一个类型:int、double、String、data
2)boolean next()
返回下一记录,没有时返回false
1) 建立JDBC-ODBC桥接器
调用Class类中的静态方法forName()
如果无法找到指定的驱动程序类名,forName()方法会抛出
ClassNotFoundException的异常。
使用Class.forName(“驱动程序名字”)显式加载驱动程序。
例如:
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
MySQL: com.mysql.jdbc.Driver
Oracle: oracle.jdbc.drive.OracleDriver
SQL Server: com.microsoft.jdbc.sqlserver.SQLServerDriver
2 )连接到数据库
- 指定数据库连接的url,数据源的位置
- 使用DriverManager.getConnection(url);
例如:
String url=“jdbc:odbc:datasource”;
Connection conn=DriverManager.getConnection(url);
或者:
Connection conn=DriverManager.getConnection(String url , String user , String password)
eg:
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/bookstore","root","root");
3)向数据库发送SQL语句
try{
Statement sql = con.createStatement();
}catch(SQLException e){
...
}
4)处理查询结果
SQL语句对数据库的查询操作将返回一个ResultSet对象
ResultSet rs = sql.executeQuery("SQL语句")
ResultSet对象一次只能看到一个数据行,若想显示所有的数据行,可用next()实现:
while(rs.next()){
}
1)基本流程
- 建立ODBC数源(可选)
- 装入JDBC驱动程序
- 建立连接
- 执行SQL语句
- 检索结果
- 关闭连接
2)关闭相关对象
结果集对象、语句对象、连接对象
rs.close();
stmt.close();
con.close();
String sql=“select * from customer where age=?”
PreparedStatement pstmt=conn.prepareStatement(sql);
2)执行
pstmt.setInt(1,30);
ResultSet=pstmt.executeQuery();
3)关闭
pstmt.close();