开发者社区> feipeng8848> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

java使用JDBC连接MySql数据库

简介: java使用JDBC连接MySql数据库 安装MySql 导入MySql驱动jar包 导入java.sql.*; 注册JDBC驱动程序 打开一个连接 执行一个查询 从结果集中提取数据 清理环境 安装MySql MySql下载链接 下载社区版(免费) 傻瓜式安装过程。安装完成之后打开MySQL Workbench(图形操作界面)添加数据库与数据。
+关注继续查看

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连接。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java实现获得MySQL数据库中所有表的记录总数可行方法
可以通过SELECT COUNT(*) FROM table_name查询某个表中有多少条记录。本文给出两种可行的Java程序查询所有别的记录方法,感兴趣朋友可以了解下 在MySQL中,可以通过SELECT COUNT(*) FROM table_name查询某个表中有多少条记录。如果想知道某个数据库中所有别的记录总数应该怎么做呢?本文给出两种可行的Java程序,解决该问题。 1. 首
1568 0
在java程序中实现发送邮件的功能
最近比较忙,在做一个人事管理系统的项目,在这项目需求中,需要一个发送邮件的功能。这个时候我们可以使用javamail的jar包来实现完美需要的功能,在这里简单的分享一个最基础的发邮件功能。 首先我们需要去下载两个jar包,smtp.jar和mailapi.jar,导入到自己的项目中应该就不用我说了吧,大家都是有经验的开发人员了。 public class Demo1 {
1342 0
数据结构笔记--栈的总结及java数组实现简单栈结构
杂谈"栈"结构:     栈(Stack)是一种插入删除操作都只能在一个位置上进表,这个位置位于表的末端,叫做栈顶(Top).   对栈的基本操作有push和pop,表示进栈和出栈.也就相当于插入和删除操作.
800 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
MySQL Java开发实战
立即下载
The state of SQL-on-Hadoop in the Cloud
立即下载
Java Spring Boot开发实战系列课程【第7讲】:Spring Boot 2.0安全机制与MVC身份验证实战(Java面试题)
立即下载