一、JDBC执行数据库访问的步骤
1.导包
2.加载数据库驱动程序
3.连接数据库
4.创建sql指令对象
5.发送sql指令到数据库
6.处理结果
7.关闭数据库
二、下载MySQL驱动jar包
下载地址:(https://dev.mysql.com/downloads/connector/j/)
先下载好数据库驱动,然后拷贝到web工程下的WebContent->WEB-INF->lib目录下
三、数据库公共类代码
import java.sql.*;
/**
* 数据库操作公共类
* @author zbs
*
*/
public class DB {
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
public DB(){
//1.加载数据库驱动程序
String className = "com.mysql.cj.jdbc.Driver";
try {
Class.forName(className);
} catch (ClassNotFoundException e) {
// TODO Auto-gene rated catch block
e.printStackTrace();
}
}
public Connection getConn(){
//2.连接数据库
String url = "jdbc:mysql://localhost:3306/testdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8";
String user = "root";//数据库用户名
String pass = "root";//数据库密码
try {
conn = DriverManager.getConnection(url,user,pass);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public Statement getStmt(){
//3.创建数据库对象
try {
if(conn == null){
conn = getConn();
}
stmt = conn.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return stmt;
}
public ResultSet executeQuery(String sql){
//4-1、构造sql,并发送到数据库去执行
//查看数据库数据使用
try {
if(stmt == null){
stmt = getStmt();
}
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
public int executeUpdate(String sql){
//4-2、构造sql命令并执行
//数据库删除、修改、插入使用
int row = -1;
try {
if(stmt == null){
stmt = getStmt();
}
row = stmt.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return row;
}
public void closeDB(){
//6、关闭数据库,释放资源(可以用3个try-catch)
try{
if(rs != null){
rs.close();
}
if(stmt != null){
stmt.close();
}
if(conn != null){
conn.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
}