0x00 教程内容
- 环境准备
- 编写代码
- 测试
0x01 环境准备
1. 数据库表准备
本地的JDK是1.8
,MySQL版本是5.7.32
(用户名是root
,密码是123456
),均部署在Windows本地。
新建一个数据库,取名 sny
:
CREATE DATABASE sny; USE sny; CREATE TABLE `student` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT '无名', `age` int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`) );
新建一张学生表,备用。
2. 引入依赖
新建一个Maven项目,并且引入MySQL依赖,JUnit只是为了测试。
<!-- 连接MySQL依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <!-- JUnit测试依赖 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>
0x02 编写代码
新建代码路径如图所示:
1. JDBCUtil工具类
package com.shaonaiyi.utils; import java.sql.*; /** * @Auther: shaonaiyi@163.com * @Date: 2021/1/13 10:55 * @Description: JDBC工具类 */ public class JDBCUtil { /** * 1、获取Connection * @return Connection * @throws Exception */ public static Connection getConnection() throws Exception { Class.forName("com.mysql.jdbc.Driver"); Connection connection = DriverManager.getConnection("jdbc:mysql:///sny","root", "123456"); return connection; } /** * 2、释放资源 * @param resultSet * @param statement * @param connection */ public static void release(ResultSet resultSet, Statement statement, Connection connection) { if (resultSet != null) { try { resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } if (statement != null) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
解释:
1、需要修改成自己的url、user、password;
2、jdbc:mysql:///sny默认连接的是本地的数据库,其实完整的是:jdbc:mysql://localhost:3306/sny,如果是其他ip,改成自己的ip即可,如:jdbc:mysql://114.22.12.111/sny;
3、JDBC4版本之后,已经可以不注册驱动,也就是可以不需要加上这句代码:Class.forName("com.mysql.jdbc.Driver");程序在运行的时候会自动去找驱动,如果没有则会报错。
2. JDBCUtilTest测试类
package com.shaonaiyi.utils; import org.junit.Assert; import org.junit.Test; import java.sql.Connection; /** * @Auther: shaonaiyi@163.com * @Date: 2021/1/13 11:04 * @Description: JDBC测试类 */ public class JDBCUtilTest { @Test public void testGetConnection() throws Exception { Connection connection = JDBCUtil.getConnection(); Assert.assertNotNull(connection); } }
解释:
1、Assert.assertNotNull(connection);
这句只是判断有没有获取到 Connection
而已,如果判断 connection
不为空,则为获取到了链接。
2、不要忘记了方法上面的注解:@Test
0x03 测试
右击测试类,点击RUN ...
即可运行测试,或者点击方法左边的绿色小三角图标也可以:
运行后发现是绿色通过状态,说明我们的connection
不为空,则获取到了连接。
因为释放不太好演示,所以暂且不演示。
0xFF 总结
- JDBC连接数据库是非常基础且关键的内容,务必多练习。
- 请关注本博客,下一篇会进行代码的重构:JDBC连接MySQL数据库(二)