Java连接MySQL数据库需要这几个重要的步骤。
1. Class.forName() 加载驱动
2.DriverManager 管理数据库驱动 。 是让Java虚拟机能够识别 数据库类型3.Connection 产生数据库连接 。提供一个可以执行SQL的环境(通道)
4 .prepareStatement() 产生一个指令(指令对象会携带执行静态的SQL) Java----》DataBase
5. ResultSet 产生结果集 (二维表格)
6. 释放关闭资源(ResultSet、Statement 、Connection )
代码的展示:
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCTest {
public static void main(String[] args) {
queryAllStudent();
}
private static void queryAllStudent() {
String className="com.mysql.jdbc.Driver";
// 数据库名称
String url="jdbc:mysql://localhost:3306/schooldb";
//MySQL用户名
String user="root";
//MySQL密码
String password="root";
ResultSet rs=null;
Statement stmt=null;
Connection conn=null;
try {
//0. Class.forName() 加载驱动
Class.forName(className);
//DriverManager 管理数据库驱动,并且创建数据库连接。
conn=DriverManager.getConnection(url, user, password);
//Statement 产生一个指令
//使用prepareStatement是防止SQL注入攻击
conn.prepareStatement(sql);
String sql="select s.sno,s.name from t_student s";
//ResultSet 产生结果集 (二维表格)
rs=stmt.executeQuery(sql);
while (rs.next()) {
String sno = rs.getString(1);
String name = rs.getString(2);
System.out.println(sno + "\t" + name);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
try {
//数据提取完毕后需要关闭资源
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}