//  这学期本来不打算深入学习Java的,课上的小项目也就随便写了一个简单计算器和扫雷游戏就糊弄过去。可是我们的Eliza老师偏偏什么都讲了,考虑到期末也会涉及到JDBC的内容,前些天试着学习一番。

//  由于数据库的连接并不顺利,于是记录下这些踩过的坑。。。

我参考了菜鸟教程上关于MySQL学习指导,如果使用的是Eclipse,那么需要先导入驱动包。

下载JDBC驱动包

一定注意本地安装的MySQL版本!!!(菜鸟教程提供的5.1.39版本不适用于最新的MySQL8.0)

在MySQL官网可以找到最新的驱动包,选择压缩包下载,也可以直接点击mysql-connector-java-8.0.16.zip下载。

导入jar包

在Eclipse中导入jar包似乎有三种方式,可以参考https://www.cnblogs.com/ruiati/p/3591203.html这篇博客。

在项目列表上右键点击,选择Properties,在弹出的对话框里找到Libraries,选择Add External JARs,加入下载并解压过的jar驱动包。

点击Apply and Close确定导入。

测试JDBC连接

根据本机数据库配置,在测试的类里有这些基本数据:

    // JDBC 驱动名及数据库URL
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/university"; // 数据库的用户名与密码,需要根据自己的设置
static final String USER = "root";
static final String PASS = "xxxx";

Java连接MySQL分为五个步骤:

  1. // 注册JDBC驱动
    Class.forName(JDBC_DRIVER);

  2. // 打开链接
    Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);

  3. // 执行查询
    Statement stmt = conn.createStatement();
    String sql = "SELECT sno, sname FROM student";
    ResultSet rs = stmt.executeQuery(sql);

  4. // 展开结果集数据库

    while(rs.next()){
    // 通过字段检索
    String no = rs.getString("sno");
    String name = rs.getString("sname");

    // 输出数据
    System.out.println("no: " + no + ", name: " + name);

  5. // 完成后关闭
    rs.close();
    stmt.close();
    conn.close();

程序正常运行可以获取到数据库的内容,但是很不幸我的程序抛出如下异常:

大概是时区设置问题,一顿百度之后,解决方案如下:

于是得到了正确的查询结果。

      


(完)

Java 使用JDBC连接MySQL的更多相关文章

  1. JAVA使用jdbc连接MYSQL简单示例

    以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...

  2. java用JDBC连接MySQL数据库的详细知识点

    想实现java用JDBC连接MySQL数据库.需要有几个准备工作: 1.下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downlo ...

  3. ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库

    1.MySQL存储过程   1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if  while)等等 的sql语句   1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...

  4. 【Java】JDBC连接MySQL

    JDBC连接MySQL 虽然在项目中通常用ORM的框架实现持久化.但经常因测试某些技术的需要,要写一个完整的JDBC查询数据库.写一个在这儿备份. 首先引入驱动包: <dependencies& ...

  5. java 通过jdbc连接MySQL数据库

    先了解下JDBC的常用接口 1.驱动程序接口Driver 每种数据库的驱动程序都应该提供一个实现java.sql.Driver接口的类,简称Driver类.通常情况下,通过java.lang.Clas ...

  6. Java使用JDBC连接MySQL数据库

    1.引用 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写 ...

  7. JAVA使用JDBC连接MySQL数据库 二

    JAVA连接MySQL稍微繁琐,所以先写一个类用来打开或关闭数据库: public class DBHelper { String driver = "com.mysql.jdbc.Driv ...

  8. Java:jdbc连接mysql数据库

    安装eclipse和mysql的步骤这里不赘述了. 1.一定要下jar包 要想实现连接数据库,要先下载mysql-connector-java-5.1.47(或者其他版本)的jar包.低版本的jar包 ...

  9. 常用JavaBean:JdbcBean codes:Java通过JDBC 连接 Mysql 数据库

    package bean;import java.sql.*;import com.mysql.jdbc.PreparedStatement;public class JdbcBean { publi ...

随机推荐

  1. WPF datagrid AutoGenerateColumns隐藏部分列

    原文:WPF datagrid AutoGenerateColumns隐藏部分列 <DataGrid x:Name="gridWC" ItemsSource="{B ...

  2. 今天学会了如何察看SSDT里面的东西、修改里面的地址

    简简单单,虽然不懂它的道理,就算会用了吧 哎,内核级的东西调着也费事 因为一个 extern 没写,我可怜的虚拟机,连续蓝屏了4次. typedef struct _ServiceDescriptor ...

  3. Thread-per-Message 这个工作交给你了

    Per是“每一”的意思,所以thread per message解释过来就是“每个消息一个线程”,message在这里可以看做是“命令”或“请求”的意思,对每隔命令或请求,分配一个线程,有这个线程执行 ...

  4. 接口测试 java+httpclient+testng+excel

    最近项目不忙,研究了下java实现接口自动化,借助testng+excel实现数据驱动 目前只用post方式测试,返回结果列没有通过列名去找 另外,请求参数是转义之后的,接口之间的依赖也是个问题,批量 ...

  5. The Counting Problem

    The Counting Problem 询问区间\([a,b]\)中\(1\sim 9\)出现的次数,0 < a, b < 100000000. 解 显然为数位递推,考虑试填法,现在关键 ...

  6. Estimation

    Estimation 给出一个长度为n序列\(\{a_i\}\),将其划分成连续的K段,对于其中一段\([l,r]\),设其中位数为m,定义其权值为\(\sum_{i=l}^r|m-a_i|\),求最 ...

  7. leetcode-229-求众数②

    题目描述: 方法一:摩尔投票法 class Solution: def majorityElement(self, nums: List[int]) -> List[int]: candiate ...

  8. 初识STL

    原生指针 泛型指针 智能指针 都是什么? iterator迭代器和指针的区别 C++标准模板库(STL)迭代器的原理与实现 [C++]STL常用容器总结之一:容器与迭代器 C++内置数组和array的 ...

  9. C++——类的多继承

    多继承概念 一个类有多个直接基类的继承关系称为多继承 多继承声明语法 class  派生类名 : 访问控制  基类名1 ,  访问控制  基类名2 ,  … , 访问控制  基类名n { 数据成员和成 ...

  10. NOI2016

    luoguP1712 [NOI2016]区间 这是一道送分题. 对于我这种每天抄题解不动脑子思维僵化得厉害的智障选手就是送命题. 一直在想端点排序各种Treap搞... 正解: 已知一些区间,如何判断 ...