java使用JDBC连接MySql数据库

来源:互联网 发布:郑州java公司 编辑:程序博客网 时间:2024/05/16 02:30

java使用JDBC连接MySql数据库

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

安装MySql

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

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

导入MySql驱动jar包

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

MySql驱动包下载链接
下载下面的zip包,上面的是用于Linux的压缩包
下载下面的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 0