一、JDBC连接Mysql数据库
1、什么是JDBC?
- 全称 Java DataBase Connectivity, 是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口
- 提供了一种接口基准,可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序
- 应用程序代码一般不能直接访问数据库,需要通过相应的数据库驱动程序才行,
- 什么是数据库驱动? 通俗来说就是数据库厂商的JDBC接口实现
2、JDBC连接MySQL相关概念
- 数据库驱动:不同数据库开发商(比如oracle mysql等)为了某一种开发语言能够实现统一的数据库调用而开发的一个程序, 作用相当于一个翻译人员, 将某个语言(比如java)中对数据库的调用通过这个翻译成各个种类的数据库 自己的数据库语言
- Connection连接:特定数据库的连接(会话),在连接上下文中执行sql语句并返回结果
- Statement 语句: 创建执行SQL语句的statement, 有好几种实现类,用于执行对应的sql
- ResultSet结果集:SQL查询返回的结果信息
3、使用Java连接Mysql的步骤
1、加载JDBC驱动程序
//在Maven项目中导入数据库的jar包
2、建立数据库连接Connection
//Connection connection = DriverManager.getConnection(url,username,password);
3、创建执行SQL的语句Statement
// Statement statement = connection.createStatement();
4、处理执行结果ResultSet
//ResultSet resultSet = statement.executeQuery("select * from user");
// while (resultSet.next()){
System.out.println("用户名称 name="+ resultSet.getString("username") + " 联系方式 wechat="+ resultSet.getString("wechat"));}
5、释放连接资源
//resultSet.close();statement.close();connection.close();
二、JDBC控制Mysql事务
-
事务:
- 一个最小的不可再分的工作单元,通常一个事务对应一个完整的业务
- 例如银行账户转账业务,该业务就是一个最小的工作单元
-
四大特性
- 原子性(A):多个DML语句组合成一个逻辑单元来执行,这个逻辑单元被称为事务。事务是最小单位,不可再分;其确保了在事务执行过程中,如果出现任何错误或异常情况,整个事务将被回滚(Rollback),即撤销所有已经执行的DML语句所做的更改,数据库将回到事务开始之前的状态。只有在事务中的所有DML语句都成功执行完毕后,事务才会被提交(Commit),此时数据库才会永久地保存这些更改。
- 一致性(C):事务要求所有的DML语句操作的时候,必须保证同时成功或者同时失败
- 隔离性(I):事务A和事务B之间具有隔离性
- 持久性(D):是事务的保证,事务终结的标志(内存的数据持久到硬盘文件中)
其中 DML语句操作包括:INSERT,UPDATE,DELETE。
实操: