JDBC 就是连接 Java代码连接 关系型数据库(MySQL,Oracle...)
目录
一、基本介绍
二、JDBC使用
1.具体步骤
2.查询数据
其他知识(JSP展示查询到的所有结果)
一、基本介绍
JDBC 不直接连接各个关系型数据库的驱动,而是通过操作JDBC API 操作JDBC DriverManager进行 CRUD 操作。各个数据库对应的驱动程序(jar包)也是相关第三方提供的用以连接操作数据库。主要学习 JDBC 的各个 API 即可 。
JDBC 主要的工作就是
- 与数据库建立连接
- 对数据库进行 CRUD
- 返回处理结果(ResultSet)
二、JDBC使用
具体应用的类和接口:
- DriverManager 管理jdbc驱动
- Connection 管理Java与数据库的连接
- Statement(PreparedStatement) crud操作
- CallableStatement 调用存储过程、函数
- Result 结果集
1.具体步骤
- 导入驱动包,加载具体驱动类 Class.forName("com.mysql.jdbc.Driver");
- 建立与数据库的连接 使用连接字符串 jdbc:mysql://localhost:3306/数据库实例名
- 发送SQL
- 接受处理结果
- 关闭连接
代码如下(示例):
import java.sql.*;
import java.sql.SQLException;
public class JDBCBaseTest {...}
private static final String url="jdbc:mysql://localhost:3306/person";
private static final String user="root";
private static final String password="root";
public static void update() {
Connection connect = null;
Statement stmt = null;
//加载驱动类
try {
Class.forName("com.mysql.jdbc.Driver");
//通过 DriverManager 建立连接
connect = DriverManager.getConnection(url, user, password) ;
//发送SQL执行
stmt = connect.createStatement();
String addSql = "insert into user(name,pwd) values ('ds02','282')";
boolean flag = stmt.execute(addSql);
} catch ( Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//关闭连接
try {
stmt.close();
connect.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
update() ;
}
2.查询数据
代码如下(示例):
public static int queryCheck(String name) {
int flag=0;
Map resultMap = new HashMap();
Connection connect = null;
Statement stmt = null;
ResultSet rs = null;
// 加载驱动类
try {
Class.forName("com.mysql.jdbc.Driver");
// 通过 DriverManager 建立连接
connect = DriverManager.getConnection(url, user, password);
// 发送SQL执行
stmt = connect.createStatement();
String queryCheckSql = "select count(*) from user where name ='" + name + "'";
System.out.println("queryCheckSql: " + queryCheckSql);
rs = stmt.executeQuery(queryCheckSql);
rs.next();
flag= rs.getInt(1);
System.out.println(name + " count :" + flag);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
// 关闭连接
try {
rs.close();
stmt.close();
connect.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return flag;
}
该处使用 flag 返回值判断查询到几条数据。
其他知识(JSP展示查询到的所有结果)
这里参考其他人的博客。



