java使用JDBC连接MySql数据库

    xiaoxiao2026-02-10  0

    java使用JDBC连接MySql数据库

    安装MySql导入MySql驱动jar包导入java.sql.*;注册JDBC驱动程序打开一个连接执行一个查询从结果集中提取数据清理环境

    安装MySql

    MySql下载链接 下载社区版(免费)

    傻瓜式安装过程。安装完成之后打开MySQL Workbench(图形操作界面)添加数据库与数据。

    导入MySql驱动jar包

    从MySql官网下载一个jar包导入到Eclipse工程中。

    MySql驱动包下载链接 下载下面的zip包,上面的是用于Linux的压缩包 下载之后导入到Eclipse中。 导入方法:右键项目名称 -> Properties ->Java Build Path -> Add External JARs

    导入java.sql.*;

    在java代码中加入一下代码:

    import java.sql.*;

    注册JDBC驱动程序

    Class.forName("com.mysql.jdbc.Driver");//JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段。

    打开一个链接

    这需要使用DriverManager.getConnection()方法来创建一个Connection对象,它代表一个物理连接的数据库。

    执行一个查询

    这需要使用一个对象类型Statement或PreparedStatement构建,并提交一个SQL语句到数据库。

    从结果集中提取数据

    这一步是必需的情况下,从数据库中获取数据。可以使用适当的ResultSet.getXXX()方法来检索的数据结果。

    清理环境

    应该明确地关闭所有的数据库资源,对依赖于JVM的垃圾收集。

    代码示例:

    package com.ycty.sql; import java.sql.*; public class sqltest { // JDBC 驱动名及数据库 URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/kunslibrary?useUnicode=true&characterEncoding=utf-8&useSSL=false"; // 数据库的用户名与密码,需要根据自己的设置 static final String USER = "kun"; static final String PASS = "";//密码未贴出 public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ // 注册 JDBC 驱动 Class.forName("com.mysql.jdbc.Driver"); // 打开链接 System.out.println("连接数据库..."); conn = DriverManager.getConnection(DB_URL,USER,PASS); // 执行查询 System.out.println("读取数据..."); stmt = conn.createStatement(); String sql; sql = "SELECT name FROM table1"; ResultSet rs = stmt.executeQuery(sql); // 展开结果集数据库 while(rs.next()){ // 通过字段检索 String name = rs.getString("name"); // 输出数据 System.out.print("name: " + name); 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!"); } }

    执行结果:

    其他

    在URL中添加了useUnicode=true&characterEncoding=UTF-8&useSSL=false这一段 其中useUnicode=true&characterEncoding=UTF-8是指定字符的编码、解码格式。

    参考资料

    useSSL=false 这一句如果不加上会报错。原因是:新版本的MySQL要求是否进行ssl连接。

    最新回复(0)