上QQ阅读APP看书,第一时间看更新
1.4.2 Java操作MySQL
1.下载并安装Java驱动包
Java连接MySQL需要驱动包,那么下载驱动包并解压后得到 jar 库文件,然后在对应的项目中导入该库文件。需注意的是,MySQL 8.0及以上版本的数据库连接有以下不同。
① MySQL 8.0及以上版本的驱动包为mysql-connector-java-8.0.16.jar。
② com.mysql.jdbc.Driver变为com.mysql.cj.jdbc.Driver。
2.连接数据库
以下实例使用JDBC[1]连接MySQL数据库,其中的一些数据(如用户名、密码等)需要读者根据自己的开发环境来配置。
实例
package test; import java.sql.*; public class MySQLDemo { // MySQL 8.0及以下版本的JDBC 驱动名及数据库统一资源定位符(URL) static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/test"; // MySQL 8.0及以上版本的JDBC 驱动名及数据库URL // static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; // static final String DB_URL = "jdbc:mysql://localhost:3306/test?useSSL= false&allowPublicKeyRetrieval=true&serverTimezone=UTC"; // 数据库的用户名与密码需要自己设置 static final String USER = "root"; static final String PASS = "123456"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ // 注册 JDBC 驱动 Class.forName(JDBC_DRIVER); // 打开链接 System.out.println("连接数据库……"); conn = DriverManager.getConnection(DB_URL,USER,PASS); // 执行查询 System.out.println("实例化Statement对象……"); stmt = conn.createStatement(); String sql; sql = "SELECT id, name, url FROM websites"; ResultSet rs = stmt.executeQuery(sql); // 展开结果集数据库 while(rs.next()){ // 通过字段检索 int id = rs.getInt("id"); String name = rs.getString("name"); String url = rs.getString("url"); // 输出数据 System.out.print("ID: " + id); System.out.print(",站点名称: " + name); System.out.print(",站点 URL: " + url); System.out.print("\n"); } // 完成后关闭 rs.close(); stmt.close(); conn.close(); }catch(SQLException se){ // 处理 JDBC 错误 se.printStackTrace(); }catch(Exception e){ // 处理 Class.forName 错误 e.printStackTrace(); }finally{ // 关闭资源 try{ if(stmt != null) stmt.close(); }catch(SQLException se2){ }// 什么都不做 try{ if(conn != null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("Goodbye!"); } }