为支持Java程序的数据库操作功能,Java语言采用了专门的数据库编程接口,用于在Java程序中实现数据库操作功能并简化操作过程。JDBC支持基本的SQL语句,提供多样化的数据库连接方式。
首先需要解释几个概念:
1.URL
JDBC技术使用数据库URL来标识目标数据库。其性质和标识常规网络资源的URL类似,主要由”协议名”,”子协议名”和”子名称”三部分组成,具体语法格式如下:
jdbc:<子协议名>:<子名称>
jdbc:mysql://localhost:3306/yaoyao --连接本地mysql下的数据库
jdbc:oracle:thin:@166.111.78.98:1521:orcl
子协议名规定数据库及连接方式
子名称规定IP地址,端口号,数据库实例名等
2.JDBC驱动
数据库驱动程序(Driver)可使数据库开展工作,以实现数据库的功能。
JDBC驱动程序分为四类:
1>JDBC-ODBC桥
利用ODBC驱动程序实现JDBC功能,该驱动程序把标准的JDBC调用转换成对应的ODBC调用,再由ODBC数据库源调用数据库本地驱动程序。
2>Java到本地API
3>Java到网络协议
4>Java到数据库协议
package cn.edu.hdu.mysql;
import java.sql.*;
public class Test {
public static void main(String args[]) throws SQLException{
//驱动程序名
String driver = "com.mysql.jdbc.Driver";
//URL
String url = "jdbc:mysql://localhost:3306/yaoyao";
//MySQL设置用户名
String user = "root";
//MySQL配置时的密码
String password = "root";
try{
//加载驱动
Class.forName (driver);
并返回一个connection对象一个connection对象
Connection conn = DriverManager.getConnection(url,user,password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to
atabase!");
//使用statement对象执行SQL操作
Statement stmt = conn.createStatement();
String sql = "select * from 常住人口信息 where 所属街道=='五常街道';
//使用statement对象的executeQuery()方法执行SELECT语句
//使用statement对象的executeUpdate()方法执行INSERT,UPDATE,DELETE语句
//使用statement对象的execute()方法,执行CREATE或者DROP语句。
ResultSet rs = stmt.executeQuery(sql);
System.out.println("执行结果如下所示:");
while(rs.next()){
int ID = Integer.parseInt(rs.getString("ID"));
String sex = rs.getString("性别");
String birth = rs.getString("出生日期");
String number = rs.getString("户号");
System.out.println(ID+"性别:"+sex+"出生日期:"+birth+"户号"+number);
}
rs.close();
//关闭结果集
stmt.close();
//关闭statement对象
conn.close();
//关闭connection对象
}catch(ClassNotFoundException e){
}
}
}
executeQuery()方法的返回值类型ResultSet是JDBC编程中最常使用的数据结构,它以行的形式包含。特别说明:一个Statement对象不能同时维护多个查询结果集(ResultSet对象),当我们调用其方法时,该Statement对象当前打开的结果集将被自动关闭,这意味着在继续利用Statement对象执行其他SQL语句之前,应该完成前数据集的处理。当有需要使用多个结果集,则应该创建前数据集的处理。当有需要使用多个结果集,则应该创建多个Satement对象。**对当前数据集的处理。当有需要使用多个结果集,则应该创建多个Statement对象。