今日一言:你不能一直做一些烂事,
然后自己后悔,
好像后悔有用一样,
你需要变好。
——《马男波杰克》
JDBC(一):IDEA初使用
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
前言
使用工具:
- IDEA
- mysql-connector-java-8.0.18.jar
- 待补充…
导入jar包
- 在项目目录下新建Lib文件夹,并将mysql-connector-java-8.0.18.jar复制到该文件夹中。
- 右键该jar包文件,选择Add as Libaray…,搞定!
JDBC基础六步骤
1. 导入sql包
// step 1. import required package
import java.sql.*;
2. 注册JDBC驱动程序
// step 2. Register JDBC driver
// Class.forName("com.mysql.jdbc.Driver"); //mysql 6.0以下
Class.forName("com.mysql.cj.jdbc.Driver"); //mysql 6.0以上
// 详见:https://www.runoob.com/note/34357
3. 建立连接
// step 3. open a connection
// String DB_URL = "jdbc:mysql://localhost:3306"; //mysql 8.0 会报错
String DB_URL = "jdbc:mysql://localhost:3306?useSSL=false&serverTimezone=Asia/Shanghai";
// 详见:https://www.runoob.com/note/34357
3.1 记一次异常
Exception in thread "main" java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
在连接数据库的URL中加入:allowPublicKeyRetrieval=true 即可。
4. 执行查询
// step 4. Execute a query
Statement statement = connection.createStatement();
String sql = "select * from mytable";
ResultSet resultSet = statement.executeQuery(sql);
while(resultSet.next()){
//notion: columnIndex start at 1
System.out.println(resultSet.getInt(1) + " " + resultSet.getString(2));
}
5. 提取数据
// step 5. Extract data from resultset
while(resultSet.next()){
//notion: columnIndex start at 1
System.out.println(resultSet.getInt(1) + " " + resultSet.getString(2));
}
6. 关闭连接
// step 6. close the connection
resultSet.close();
statement.close();
connection.close();
运行结果
1 LOS
2 小鱼
4 怡宝
5 便利贴