昨天学习 Java 的数据库部分,就试着写了一下 JDBC 连接的代码,并尝试与数据库进行连接。中间也是遇到了一些问题,解决之后,在这里分享一下,也算做个记录。(有写的不对的地方,欢迎留言)

一、Navicat 创建数据库

1.首先装这个数据库可视化的软件:Navicat for MySQL

(就是下面这个啦)这个就不多说了,需要的自己百度教程;

使用 Navicat 创建数据库并用JDBC连接的操作方法

2. 建立连接

使用 Navicat 创建数据库并用JDBC连接的操作方法

输入连接名称,用户名、密码,然后 OK 就可以创建新的连接了。

使用 Navicat 创建数据库并用JDBC连接的操作方法

这样新的连接就建立好了

使用 Navicat 创建数据库并用JDBC连接的操作方法

3. 创建数据库

右键 刚创建的 Test 连接,然后 New Database,创建数据库,就是下面的界面;
输入数据库名称,选择编码格式,OK;

使用 Navicat 创建数据库并用JDBC连接的操作方法

点击 Test ,会发现里面已经有刚才创建的数据库 databasetest,数据库创建成功;

使用 Navicat 创建数据库并用JDBC连接的操作方法

4. 创建数据库表

点击 databasetest 后,右键 Table,选择 New Table,新建表;

使用 Navicat 创建数据库并用JDBC连接的操作方法

新建表的界面如下,输入表头内容,以及数据类型,设置主键 等等;

使用 Navicat 创建数据库并用JDBC连接的操作方法

保存表,输入表名;

使用 Navicat 创建数据库并用JDBC连接的操作方法

保存的时候发现,主键那块设置可以为 NULL 了,就会提示错误,改一下再保存;

使用 Navicat 创建数据库并用JDBC连接的操作方法

创建表完成,发现 Table 下多了一张新的表;

使用 Navicat 创建数据库并用JDBC连接的操作方法

5. 给表中添加内容

自己添加数据库表的内容即可;

使用 Navicat 创建数据库并用JDBC连接的操作方法

这样就好了,在 Navicat 里的简单操作就是这些了。
下面讲一下在 Java 代码里的操作。

二、JDBC 连接Java代码

1. Java 代码

这里先把代码贴上,有一些我遇到的问题,在后面叙述;

public class ConnMySQL {
 public static void main(String[] args) throws Exception {
 //加载驱动
 Class.forName("com.mysql.cj.jdbc.Driver");
 String url = "jdbc:mysql://localhost:3306/databasetest";
 String user = "root";
 String password = "root";
 try(
  //用 DriverManager 获取数据库连接
  //返回的 Connection 就代表了 Java 程序和数据库的连接
  Connection conn = DriverManager.getConnection(url, user, password);

  //使用 Connection 来创建一个 Statement 对象
  Statement stmt = conn.createStatement();

  //执行 SQL 语句
  ResultSet rs = stmt.executeQuery("select * from student"))
 {
  while (rs.next()){
  String number = rs.getString("number");
  String name = rs.getString("name");
  int age = rs.getInt("age");
  System.out.println(number + "---" + name + "---" + age);
  }
 }
 }
}

2. 报错:Exception in thread “main” java.lang.ClassNotFoundException: com.mysql.jdbc.

查了原因之后发现,是因为少了一个包:mysql-connector-java-x.x.x-bin.jar;(注意:看自己的 MySQL 版本,选择合适的安装包)
这里放一个链接,是 8.0.15 的,如果需要的话可以下载;

链接: https://pan.baidu.com/s/1CZIPnDzn5XUTggQ-M05W1Q

提取码: kdev

下载这个包解压之后,进行如下安装:

使用 Navicat 创建数据库并用JDBC连接的操作方法

使用 Navicat 创建数据库并用JDBC连接的操作方法

这样问题就解决了

3. 报错:Exception in thread “main” java.sql.SQLException: The server time zone value ‘Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

没错,就是这么长的错,嗯。。。虽然不知道具体什么原因,但查了之后,解决方法如下 :

之前看到的很多 URL 都是这么写的:

String url = "jdbc:mysql://localhost:3306/databasetest"

现在改一下,改成这样:

String url = "jdbc:mysql://localhost:3306/databasetest"; 

问题就解决了;

使用 Navicat 创建数据库并用JDBC连接的操作方法

可以正常的输出数据库表里的内容;

标签:
Navicat,创建数据库,Navicat,JDBC连接

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
内蒙古资源网 Copyright www.nmgbbs.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。