获得数据库连接的四个步骤
-
Class.for("com.mysql.cj.jdbc.Driver");
由于使用的是MYSQL 8 所以必须要使用相应的驱动,相比于mysql-connector-java-5.1.47.tar 在jar包中Driver的位置发生了变化 -
Connection
获得连接
connection=DriverManager.getConnection(URL,USER,PASSWORD);
-
Statement statement =connction.createStatement();
创建Statement -
ResultSet resultSet =statement.executeQuery();
创建结果集
使用反射获取驱动防止加载两次驱动
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 使用jdbc 访问MYSQL数据库
*/
public class JDBCUtils {
//数据库用户名
private static final String USER="root";
//数据库代码
private static final String PASSWORD="19970909";
//数据库url
private static final String URL="jdbc:mysql://localhost:3306/mydb?characterEncoding=utf8&useSSL=false";
public static void main(String[] args) {
// 1.注册数据库的驱动,使用反射注册驱动
try {
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("注册驱动成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 2.获得数据库的访问连接权利
Connection connection=null;
try {
connection=DriverManager.getConnection(URL,USER,PASSWORD);
System.out.println("连接数据库成功");
} catch (SQLException e) {
e.printStackTrace();
}
// 3.向数据库发送要执行的SQL语句
Statement statement = null;
try {
statement =connection.createStatement();
String sql="delete from student where id =1";
int row_count= statement.executeUpdate(sql);
if(row_count>0){
System.out.println("删除数据库成功");
}
} catch (SQLException e) {
e.printStackTrace();
try {
connection.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
// 4.获取执行的返回结果
//如若需要
ResultSet resultSet =statement.executeQuery();
// 5.关闭数据库连接
try {
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}