-----初学者完整的JDBC学习----
JDBC连接数据库一共分为六步
1.第一步:加载jdbc驱动在连接数据库之前,我们应该先加载jabc驱动,不同的数据库类型驱动不一,使用Class.forName实现
// 第一步:加载jdbc驱动
Class.forName("com.mysql.jdbc.Driver");
2.第二步:创建数据库连接
在第一步加载完驱动之后提供jdbc所需要的url,数据库连接的账号密码,创建一个数据库连接
String username = "root";
String password = "root";
String url = "jdbc:mysql://localhost:3306/new";
// 创建数据库连接
connection = DriverManager.getConnection(url, username,
password);
3.第三步创建一个Statement
Statement实例一共分为三种:
1:Statement 执行静态sql
2:PreparedStatement 执行动态sql
3:CallableStatement 执行数据库存储过程
Statement statement = null;
statement = connection.createStatement();
4.第四步执行sql语句拿到结果集
Statement提供三种操作数据库的方法
1:execute() 执行sql语句返回boolean
2:executeQuery() 执行sql返回结果集,用于查询语句
3:executeUpdate() 执行sql返回影响到的记录数row,用于update,insert,delete
sql = "select * from user";
// 执行sql语句拿到结果集
rs = statement.executeQuery(sql);
sql = "select * from user";
// 执行sql语句拿到结果集
rs = statement.executeQuery(sql);
5.第五步遍历结果集访问对象取得字段值
// 对结果集进行遍历
while (rs.next()) {
// 访问对象取得字段值
System.out.println(rs.getString(1));
}
6.第六步操作完毕关闭JDBC的对象
try {
if (rs != null) {
//关闭结果集
rs.close();
}
if (statement != null) {
//关闭statement
statement.close();
}
if(connection != null){
//关闭数据库连接
connection.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
完整的JDBC代码
package com.study.day02;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JBDC {
/**
* @param args
*/
public static void main(String[] args) {
String username = "root";
String password = "root";
String url = "jdbc:mysql://localhost:3306/new";
String sql = null;
ResultSet rs = null;
Statement statement = null;
Connection connection = null;
try {
// 第一步:加载jdbc驱动
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
connection = DriverManager.getConnection(url, username,
password);
// 创建一个statement(执行静态sql)
statement = connection.createStatement();
sql = "select * from user";
// 执行sql语句拿到结果集
rs = statement.executeQuery(sql);
// 对结果集进行遍历
while (rs.next()) {
// 访问对象取得字段值
System.out.println(rs.getString(1));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
//关闭结果集
rs.close();
}
if (statement != null) {
//关闭statement
statement.close();
}
if(connection != null){
//关闭数据库连接
connection.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}