//  这学期本来不打算深入学习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. jpa 踩坑 SQLGrammarException

    SQLGrammarException could not execute query  cause by not found column id ,, id指的是,返回的结果没有Id 封装结果集出错 ...

  2. cacti ERROR: FILE NOT FOUND

    Cacti 版本: 0.8a 在安装好 cacti之后,进入Settings -> Paths, 而且里面的路径在系统中都存在的,在这里显示ERROR: FILE NOT FOUND 参考1的博 ...

  3. merge存储引擎基本介绍和使用规范说明

    [以下两段截自MySql手册]: merge存储引擎,也被认识为mrg_myisam引擎,是一个"相同“的表可以被当作一个表来用的myisam表的集合.“相同”意味着所有表同样的列和索引信息 ...

  4. Java怎样实现解析身份证号

    身份证号解析,demo /** * 身份证号解析demo * */ public class TestArea { public static void main(String[] args) { S ...

  5. [JZOJ3348] 【NOI2013模拟】秘密任务

    题目 题目大意 给你一个无向图,你要割掉一些边使得\(1\)到\(n\)的所有最短路径被阻截. 割掉一个边\((u,v)\)的代价为\(a_u\)或\(a_v\)(记为两种不同的方案). 问最小代价及 ...

  6. js字符串去重复

    var str="fdafdasfdasfdsfdseeeu"; function te(str){ var hash=[]; var arr=new Array(); var s ...

  7. thinkphp 静态路由

    静态路由其实属于规则路由的静态简化版(又称为URL映射),路由定义中不包含动态参数,静态路由不需要遍历路由规则而是直接定位,因此效率较高,但作用也有限. 如果我们定义了下面的静态路由 'URL_ROU ...

  8. SQLite wrapper

    SQLiteWrapper is a C++ wrapper for SQLite. There are some test programs that demonstrate how the SQL ...

  9. 云时代IDC自动化运维的几大神器

    云时代IDC自动化运维的几大神器 2016年09月18日 10:27:41 天府云创 阅读数:1715   版权声明:本文为EnweiTech原创文章,未经博主允许不得转载. https://blog ...

  10. .net Framework 中的四种计时器

    在Framework中存在着4种定时器:其中分为两类, 多线程计时器 1:System.Threading.Timer 2:System.Timers.Timer 特殊目的的单线程计时器: 1:Sys ...