DriveManager类是JDBC的管理层,用来管理数据库中的驱动程序。在使用Java操作数据库之前,必须使用Class类的静态方法forName(String className)加载能够连接数据库的驱动程序。DriverManager类的getConnection()方法与本地数据库建立连接
Connection接口代表Java端与指定数据库之间的连接
Statement接口用来执行静态SQL语句的工具接口
ResultSet接口类似于一个临时表,用来存放对数据库中的数据执行查询结果操作的结果
数据库连接和加载的方法
package Conn;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conn {
Connection con;
public Connection getConnection(){
try{
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("数据库加载驱动成功");
}catch(ClassNotFoundException e){
e.printStackTrace();
}
try{
con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/information_schema?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC","root","123456");
System.out.println("数据库连接成功");
}catch(SQLException e){
e.printStackTrace();
}
return con;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Conn c=new Conn();
c.getConnection();
}
}
操作实例
package Conn;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Gradation {
public Connection getConnection() throws ClassNotFoundException,SQLException{
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/information_schema?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC","root","123456");
return con;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Gradation c=new Gradation();
Connection con=null;
Statement stmt=null;
ResultSet res=null;
try{
con=c.getConnection();
stmt=con.createStatement();
res=stmt.executeQuery("select *from tb_stu");
while(res.next()){
String id=res.getString("id");
String name=res.getString("name");
String sex=res.getString("sex");
String birthday=res.getString("birthday");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(res!=null){
try{
res.close();
}catch(SQLException e){
e.printStackTrace();
}
}
if(stmt!=null){
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
if(con!=null){
try{
con.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
}
}