jdbc的简介与入门

之前我们所说的都是用sql语言编写数据库现在我们将使用jdbc在java中编写数据。

JDBC(Java Database Connectivity)

1 JDBC的概念


(1)JDBC(Java DataBase Connectivity)Java连接数据库的规范(标准),可以使用Java语言连接数据库,从而对数据进行增删改查(CURD)操作。
 

2 JDBC核心思想

Java中定义了访问数据库的接口,可以为多种关系型数据库提供统一的访问方式。由数据库厂商提供驱动实现类(Driver数据库驱动)。

![](img/02JDBC核心思想.png)

2.1 MySQL数据库驱动


mysql-connector-java-5.1.x 适用于5.x版本

mysql-connector-java-8.1.x 适用于8.x版本
2.2 JDBC API

JDBC是由多个接口和类进行功能实现的。

| 类型      | 权限定名                   | 功能                                                         |
| --------- | -------------------------- | ------------------------------------------------------------ |
| class     | java.sql.DriverManager     | 管理多个数据库驱动类,提供了获取数据库连接的方法             |
| interface | java.sql.Connection        | 代表一个数据库连接(当connection不为null时,表示已连接数据库) |
| interface | java.sql.Statement         | 发送SQL语句到数据库工具                                      |
| interface | java.sql.PreparedStatement | 发送SQL语句到数据库工具                                      |
| interface | java.sql.ResultSet         | 保存SQL查询语句的结果数据(结果集)                          |
| class     | java.sql.SQLException      | 处理数据库应用程序时所发生的异常                             |

2.3 JDBC环境搭建


(1)在项目下创建lib文件夹,用于存放jar文件。

(2)将mysql驱动mysql-connector-java-5.1.x复制到项目的lib文件夹中。

(3)将选中lib文件中的jar文件配置到项目中。
```

二、JDBC的开发步骤(非常重要)

2.1 注册驱动

使用Class.forName("包含完整路径的驱动类");//手动加载字节码文件到JVM中。


注册驱动
Class.forName("com.mysql.jdbc.Driver");
 

 2.2 获取连接对象

通过DriverManager.getConnection(url,user,password)获取数据库连接对象

​        url:mysql数据库的路径

​        user:mysql数据库用户名

​        password:mysql数据库密码


获取连接对象
String url = "jdbc:mysql://127.0.0.1:3306/java221804";
String dbuser = "root";
String password = "123456";
Connection connection = DriverManager.getConnection(url, dbuser, password);
 

2.3 获取发送SQL语句的对象

通过Connection对象获取Statement对象,用于发送SQL语句,实现对数据库进行访问。


获取发送SQL语句的对象
Statement statement = connection.createStatement();
 

2.4 执行SQL语句

编写SQL语句并执行SQL语句,接收SQL语句的执行结果。
编写SQL语句,SQL语句最好是先在SQLyog里面写一遍并运行一下,保证SQL语句没有语法错误
String sql = "DELETE FROM stu WHERE sid='S_1010';";
执行SQL语句,并接收结果
DML语句:对于插入数据、修改数据、删除数据操作,都调用executeUpdate()方法,返回受影响的行数(int类型)
DQL语句:对于查询数据,调用executeQuery()方法,返回一个结果集(ResultSet类型)
int num =statement.executeUpdate(sql);
 

2.5 处理结果

处理第三步返回的数据。对返回的受影响行数结果进行逻辑判断;对返回的结果集进行迭代、依次获取数据。
处理结果
if(num==1){
    System.out.println("数据删除成功");
}else{
    System.out.println("数据删除失败");
}
 

2.6 释放资源

释放(关闭)所使用到的所有资源对象,遵循”先开的后关,后开的先关“原则。


释放资源:先开后关,后开先关
statement.close();
connection.close();
 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不愿是过客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值