JDBC连接数据库(这里只了解mySQL数据库的一般连接过程):
JDBC是访问关系数据库的JavaAPI,针对通用SQL数据库的Java应用程序接口。
(一)四个主要接口:
Driver:加载一个合适的驱动程序;
Connection:连接数据库;
Statement:创建和执行SQ语句;
ResultSet:语句返回结、处理结果
(二)访问数据库步骤:
(1) 加载驱动:
Class.forName("com.mysql.jdbc.Driver");
(2) 建立连接:
Connection con =DriverManager.getConnection(url,user,password);
(3) 创建语句:
Statement statement =con.createStatement();
(4) 执行语句:
ResultSet rs =statement.executeQuery(String sql);
(5) 处理结果集:
当前行的初始位置是null,使用next方法移动到下一行,使用对应的get方法从当前行获取值。
while(rs.next()){
id =rs.getString("sNo");
name =rs.getString("sName");
}
(6) 关闭数据库连接:
con.close();
(四)具体代码如下:
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclass Test {
public static void main(String[] args){
//声明Connection对象
Connection con;
//驱动程序名
String driver ="com.mysql.jdbc.Driver";
//URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/sc";
//MySQL配置时的用户名
String user = "root";
//MySQL配置时的密码
String password = "111";
//遍历查询结果集
try {
//加载驱动程序
Class.forName(driver);
//1.getConnection()方法,连接MySQL数据库!!
con =DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("Succeededconnecting to the Database!");
//2.创建statement类对象,用来执行SQL语句!!
Statement statement =con.createStatement();
//要执行的SQL语句
String sql = "select *from Student";
//3.ResultSet类,用来存放获取的结果集!!
ResultSet rs =statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println("学号" + "\t" + "姓名");
System.out.println("-----------------");
String id = null;
String name = null;
while(rs.next()){
id =rs.getString("sNo");
name =rs.getString("sName");
//输出结果
System.out.println(id +"\t" + name);
}
rs.close();
con.close();
} catch(ClassNotFoundException e){
//数据库驱动类异常处理
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
//数据库连接失败异常处理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
System.out.println("数据库数据成功获取!!");
}
}
}