//  这学期本来不打算深入学习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. spring MVC <mvc:annotation-driven>

    研究SpringMvc 3.2的<mvc:annotation-driven>默认干了什么 如果不配置其他参数,大致相当于以下的配置文件(参考自org.springframework.we ...

  2. centos7.3更换ssh默认登陆端口

    说明:本方法目前通用于7.1-7.3 vim /etc/ssh/sshd_config 找到Port 22下面添加一行:Port 12345保存退出. systemctl restart sshd.s ...

  3. Leetcode207. Course Schedule课程表

    现在你总共有 n 门课需要选,记为 0 到 n-1. 在选修某些课程之前需要一些先修课程. 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它 ...

  4. css---5 only-child or nth-of-type

    1  _nth-child系列 :nth-child(index) <!DOCTYPE html> <html lang="en"> <head> ...

  5. thinkphp url模式

    入口文件是应用的单一入口,对应用的所有请求都定向到应用入口文件,系统会从URL参数中解析当前请求的模块.控制器和操作: http://serverName/index.php/模块/控制器/操作 这是 ...

  6. luoguP1062 数列 [数学]

    题目描述 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是: 1,3,4,9,10,12,13,… (该序列实际上就是 ...

  7. jquery学习笔记(二):DOM元素操作

    内容来自[汇智网]jquery学习课程 2.1 元素属性操作 1.获取元素的属性 语法:attr(name) 参数name表示属性的名称 2.设置元素的属性 单个属性设置语法:attr(key,val ...

  8. (37)C#Linq

    https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/let-clause 一.定义 Linq(Lang ...

  9. Java学习之Java历史版本

    Java有三个版本,标准版Java SE,企业版Java EE,移动版Java ME.按理来说,每一种版本都会有自己的版本号,但是约定俗成:JDK版本号=Java SE版本号=Java版本号,这是因为 ...

  10. 【LGP4714】「数学」约数个数和

    题目 众所周知,除数个数函数\(\sigma_0=I^2\),\(I\)就是狄利克雷卷积里的\(1\)函数 于是熟悉狄利克雷卷积的话很快就能看出我们要求的就是\(I\times I^{k}\),即\( ...