引言:这个算是我最喜欢的一个学习部分,因为在这里有很多有趣的代码片段。特别喜欢写这个部分的代码,也许是因为这部分的代码中英文字母比较长?好吧,算是有点。这样可以体现出我的英语还是顶呱呱的哈哈,比如DriverManager、connection、statement、createStatement等等等还有很多。除了这些还有连接数据库、定义相关参数的时候都是固定代码,比较考验记忆力,可能是博主自己比较喜欢记忆类型的代码。
JDBC环境搭建
- 在当前的项目下创建lib文化夹,用来存放jar文件。
- 将MySQL驱动mysql-connector-java-8.0.X复制到新建的lib文件夹中。
- 选中lib文件夹中的文件右键选择Add as Library,并确定。
MySQL数据库驱动
下载网址:MySQLhttps://www.mysql.com/
目前大多使用的版本主要有5.1.X和8.0.X的
- mysql-connector-java-5.1.X 适用于MySQL5.X版本;
- mysql-connector-java-8.0.X 适用于MySQL8.X版本;
理论上mysql-connector-java-5.1.X可以用于MySQL8.0版本但是不建议大家这样使用,既然都下载了,不如下载一个对应的版本省去不必的麻烦,不是两全其美吗?
开发步骤
总共可以分为七个步骤
其中
两个类:
类名 | 作用 |
---|---|
DriverManager | 负责管理JDBC驱动程序。使用JDBC驱动之前,必须先将驱动程序加载并注册后才可以使用,同时提供方法建立与数据库的连接。 |
SQLException | 和数据库操作有关的异常。 |
四个接口:
接口名 | 作用 |
---|---|
Connection | 特定数据库的连接(会话)。在连接上下文中执行SQL语句并返回结果。 |
Statement | 用于执行静态SQL语句并返回它所生成结果的对象。 |
PreparedStatement | 表示预编译的SQL语句的对象。 |
ResultSet | 表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。 |
直接进入代码演示
/**
* @author 小驴不开心
* @version 1.0
* @date 2023/6/13 15:04
*/
public class FirstJDBC {
// JDBC程序的开发步骤
public static void insertMethod() throws ClassNotFoundException, SQLException {
// 1. 添加驱动
// 前置行为:将jar文件放到项目中去
// 实际上是通过反射的方式添加的 引用指定的类
Class.forName("com.mysql.cj.jdbc.Driver");
// 2. 定义相关的参数
String user = "数据库账户名称";
String password = "数据库密码";
// url:根据使用的数据库来确定
// jdbc:mysql://MySQL的ip地址 : 开放的端口号/连接的数据库名称
// MySQL的ip地址:本机 localhost 127.0.0.1 如果是远程连接直接,使用ip地址
// 开放的端口号:3306
// 连接的数据库名称:连接数据库的名称
// ?useUnicode=true&characterEncoding=utf8 // 解决中文乱码问题
String url = "jdbc:mysql://localhost:3306/mysqldb?useUnicode=true&characterEncoding=utf8";
// 3. 创建连接
Connection connection = DriverManager.getConnection(url, user, password);
// 验证连接
System.out.println(connection.isClosed() ? "连接关闭" : "连接开启");
// 4. 创建执行对象
// 4.1 SQL语句的创建
String sql = "insert into dept(dname, loc) values('公关','南京')";
// 4.2 创建执行对象
Statement statement = connection.createStatement();
// 5. 执行SQL语句
// 执行的SQL语句是增删改 -- 使用的方式 executeUpdate 返回的数据是数据库中受影响的行数
int rows = statement.executeUpdate(sql);
// 6. 解析结构
System.out.println(rows != 0 ? "新增成功" : "新增失败");
// 7. 关闭资源 (先开的后关)
statement.close();
connection.close();
}
总结来说,代码很简单,其中固定的代码语句很多,只有少数的代码需要根据实际情况改变一下。在使用JDBC增删改查数据库表过程中,只有查询的语句不太一样,改用ResultSet来执行SQL语句,并进行数据获取的判断即可,除此之外并没有特别的不同。