JDBC 基础(下)
2019-03-23 本文已影响0人
旦暮何枯
Java 应用程序访问数据库
本文通过代码 JDBC 访问数据库,并解决两个在使用 JDBC 新手常见的问题;
前置:本机安装 Mysql 服务,且已在本地创建了 test 库 user 表
intellij 创建 HelloJDBC 类:
import java.sql.*;
public class Main {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/test?useSSL=true";
static final String USER = "root";
static final String PASSWORD = "admin";
public static void main(String[] args) throws ClassNotFoundException{
Connection conn = null;
Statement statemente = null;
ResultSet rs = null;
// 1. 装载数据库驱动程序;
Class.forName(JDBC_DRIVER);
// 2. 通过JDBC建立数据库连接;
try {
conn = DriverManager.getConnection(DB_URL,USER,PASSWORD);
// 3.访问数据库,执行SQL语句;
statemente = conn.createStatement();
rs = statemente.executeQuery("select name from test.user ");
// 4.获得执行结果
while(rs.next()) {
System.out.println("Hello " + rs.getString("name"));
}
} catch (SQLException e) {
// 异常处理
e.printStackTrace();
} finally {
// 5. 断开数据库连接,清理环境
try {
if(conn != null) {
conn.close();
}
if(statemente != null) {
statemente.close();
}
if(rs != null) {
rs.close();
}
} catch (SQLException e) {
// pass
}
}
}
}
运行报错:
in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
项目未安装 mysql-connector-java 依赖;我下载的是 mysql-connector-java-5.1.47.tar.gz
在 file -> project structure -> Libraries -> 点击 + 号 选择 java -> 选择刚刚下载的 mysql-connector-java 包。
Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established...
MySQL在高版本需要指明是否进行SSL连接。需要在 JDBC URL 中增加参数:ssl=true或者false
url = jdbc:mysql://127.0.0.1:3306/framework?characterEncoding=utf8&useSSL=true