JDBC六部曲、驱动和细说URL连接
JDBC六部曲、驱动和连接的URL注意事项
1、JDBC介绍
1.1、JDBC概念:
JDBC(Java Database Connectivity),Java连接数据库的规范(标准)。
使用JDBC连接数据库完成CRUD操作
1.2、JDBC核心思想:
Java中定义了访问数据库的接口,可以为多种关系型数据库提供统一的访问方式。
由各大数据库厂商提供驱动实现类(Driver数据库驱动)
1.3、图解JDBC连接过程
1.4、MySQL的JDBC驱动包
下载包地址:https://dev.mysql.com/downloads/connector/j/
- mysql-connector-java-5.1.X.jar 适用于5.X版本
- mysql-connector-java-8.0.X.jar 适用于8.X版本
1.5、JDBC API
2、JDBC开发步骤
1、注册驱动
5.0版本:Class.forName("com.mysql.jdbc.Driver");
8.0版本:Class.forName("com.mysql.jdbc.cj.Driver");
2、连接数据库
Connection conn = DirverManager.getConnection(url,user,password);
3、获取执行SQL对象
Statement stat = conn.createStatement();
4、执行SQL语句
CUD 增删改:int result = stat.executeUpdate(sql);
R 查:ResultSet rs = stat.executeQuery(sql);
5、处理结果
CUD 增删改:int result
R 查:ResultSet rs
6、释放资源
stat.close();
conn.close();
2.1、JDBC开发步骤之驱动
注册驱动: 是为了能够拿到一个与数据库的连接
而:Class.forName("com.mysql.jdbc.Driver");
// 1、本意为获取类对象导致类加载,就执行了执行静态代码块,注册驱动,
而在DriverManager类中,包含了以下注册的源码,如下
public static synchronized void registerDriver(java.sql.Driver driver)
throws SQLException {
registerDriver(driver, null);
}
所以一旦通过 "com.mysql.jdbc.Driver" 或 "com.mysql.cj.jdbc.Driver"
获取类对象就会拿到驱动
// 2、1.8之后自动注册驱动,所以这行代码可以不用写
而这个 DriverManager.registerDriver(new com.mysql.jdbc.Driver());
// 1:驱动注册两次,2:耦合性高,依赖驱动类 所以不采用使用此方式
2.2、JDBC获取连接之细说URL
Connection connection = DriverManager.getConnection(url, user, password);
获取连接,起始这块一点都不难,就是url,细说下URL
看下浏览器上的的URL进行对比记忆:
网络URL: https://www.baidu.com/s?ie=UTF-8&wd=百度
MySQLURL:jdbc:mysql://localhost:3306/数据库名?useSSL=false&serverTimezone=时区
MySQLURL:统一资源定位符://网址:端口/连接字符串?useSSL=false&serverTimezone=GMT%2B8
// jdbc:mysql: 协议
// localhost: 主机名 IP
// 3306/端口号
// homework 数据库名
// ?useSSL=false/true MySQL在高版本需要指明是否进行SSL连接
//1.true 需要连接
//2.false 不需要连接
// &serverTimezone=GTM%2B8 时区设置
// characterEncoding=utf-8 连接语言设置
8.0 版本URL参数:?useSSL=false&serverTimezone=时区&useUnicode=true&characterEncoding=utf-8"
5.0 版本:"jdbc:mysql://localhost:3306/homework"
String url = "jdbc:mysql://localhost:3306/homework";
String user = "root";
String password = "root";
Connection connection = DriverManager.getConnection(url, user, password);
2.3、通过JDBC执行 CDU 增删改
//executeUpdate(sql);增删改 CUD 执行DML、DDL语句
public class TestJdbc {
public static void main(String[] args) throws Exception {
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.获取连接对象
String url = "jdbc:mysql://localhost:3306/数据库名";
String user = "数据库用户名";
String password = "用户对应密码";
Connection conn = DriverManager.getConnection(url,user,password);
// 3.获取执行SQL的对象
Statement stat = conn.createStatment();
// 4.执行SQL语句,并接收返回结果 执行CUD 其中一条
String csql = "insert into 表(列1,列2...) values(值1,值2...)";
String dsql = "delete from 表 where 条件表达式";
String usql = "update 表 set 列名 = 值 where 条件表达式";
int result = stat.executeUpdate(csql或dsql或usql);
// 5.处理结果
if (result >= 0){
System.out.println("操作语句之后,受影响的行数为:" + result);
} else {
System.out.println("操作失败。。。");
}
// 6.释放资源,倒着释放资源 遵循先开后关
stat.close();
conn.close();
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步