//  这学期本来不打算深入学习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();

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

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

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

      


(完)

最新文章

  1. 如何安装一个优秀的BUG管理平台——真的是手把手教学!
  2. 见见面、聊聊天 - 5月22日晚7点Meetup,三里屯绿树旁酒吧,畅谈云技术和应用
  3. [资料]常用Windows CMD指令
  4. [工具类]文件或文件夹xx已存在,则重命名为xx(n)(2)
  5. oracle 11g 分区表
  6. jetty上传 Form too large: 275782 > 200000
  7. maven项目在tomcat中运行遇到的问题
  8. Ubuntu 14.04 没有system settings的解决方法
  9. 中介者模式(Mediator) 笔记
  10. Linux-grep 命令和find 命令 (6)
  11. OAuth2.0学习(1-9)新浪开放平台微博认证-web应用授权(授权码方式)
  12. Android View框架总结(九)KeyEvent事件分发机制
  13. Asp.Net Core微服务再体验
  14. FortiGate 服务License注册步骤
  15. python函数的用法
  16. sql面试学到新内容
  17. VLC框架分析
  18. 图像处理、计算机视觉与模式识别“SCI期刊和顶级会议”总结
  19. python实现float/double的0x转化
  20. 1088. [SCOI2005]扫雷Mine【网格DP】

热门文章

  1. Android笔记之调用系统相机拍照
  2. GenericServlet简介和使用
  3. extern const 不能一起用
  4. 【数论】[SDOI2010]古代猪文
  5. 【学术篇】SDOI2009 学校食堂
  6. Algo: maxSubArray vs. maxProduct
  7. css---文本新增样式
  8. jmeter+ant+jenkins 搭建接口自动化测试环境
  9. RocketMQ源码分析之RocketMQ事务消息实现原下篇(事务提交或回滚)
  10. thinkphp url生成