eclipse导入jdbc,无法连接数据库解决方案

本文详细指导了在Windows 10系统上使用Eclipse IDE创建Java项目,并配置MySQL 8.0.29驱动。从新建项目到设置数据库连接,包括JDBC插入、读取数据库操作,适合初学者快速上手。
摘要由CSDN通过智能技术生成

本教程使用Windows 10系统

使用eclipse    版本为:eclipse-jee-2022-03-R-win32-x86_64https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2022-03/R/eclipse-jee-2022-03-R-win32-x86_64.zip

使用MYSQL    版本为:mysql-installer-community-8.0.29.0https://dev.mysql.com/downloads/mysql/

MySQL安装详见:MySQL的下载和安装(msi)http://t.csdn.cn/HNBo9

步骤一:

点击右上角的    file>new>project    如下图:

2eaa4724b42d4de2b9a17224cc04f122.png

步骤二:

 在弹出的窗口中点击    Java project    如下图:

8df46b4b7fe34badb7467fdfeabb7dd8.png

步骤三:

 完成后点击该窗口最下面的    next    进行下一步。

弹出如下窗口:(在  project name  后的文本框中输入项目名称,然后下面的finish  完成按钮会变成可用状态,点击finish  完成)

7c3a92ab10c64e5c89d43b71456038c6.png

步骤四:

点击finish后会弹出一个窗口,如下:点击Don't Create  会避免很多麻烦,我这里演示点击Create的操作,点击Don't Create可以跳过步骤七

80efb151a0d444e79a7550c58e7d0902.png

点击Don't Create后文件目录结构是这样的:

d437a40f9a684e0c83b3aae3b7693eb8.png

 点击Create后文件目录结构是这样的:

92df243f838e4eae9b51b9cc2baf019a.png

 步骤五:在文件的主文件夹上右击:选择Build Path>Configure Build Path...

c5fc238dd6ce4e2c9ad428e4a0f66f31.png

步骤六:

 单击后弹出如下窗口:单击Modulepath后右边栏的Add External JARs...按钮会变得可用,单击

c1db1f32980f475db405a142b10813fc.png

 步骤七:单击后会弹出类似下图的界面(因为电脑使用习惯的不同会有差异)找到你的MYSQL目录。(我的MySQL目录在安装时选择的是默认路径所以就是  C:\Program Files (x86)\MySQL   

0f17643f54fa47e6a3fc73a7b0267520.png

 进入MySQL目录, 如下图:

a7ab1aea6b9e47ad99611ad649f33ec3.png

 进入Connector J 8.0文件夹 如下图:

9671021cda464c1583c120b784332392.png

 双击mysql-connector-java-8.0.29.jar文件,或者点击mysql-connector-java-8.0.29.jar后点击打开,两种方法都是产生一样的效果的,如下图:

1bb824f401a145fc8a8e7f870ee01908.png

插入完成如下图:

主目录结构会变成这样:

cf9662087dee4e778e76b2369dd2e1dd.png

 单击最下面的Apply and Close按钮完成数据库驱动JDBC的插入调用,(每建立一个Java项目都需要重新加载数据库驱动JDBC。

步骤七:

因为步骤四是点击了Create步骤四:点击finish后会弹出一个窗口,如下:点击Don't Create  会避免很多麻烦,我这里演示点击Create的操作,点击Don't Create可以跳过步骤七

所以会出现一个数据库驱动JDBC的插入成功,但无法调用的情况:

解决方法有两种:

第一种比较简单:

在主目录下将module-info.java文件右键然后删除,如下图:

c69bc7cd315642b09e222eb8043fe40a.png

 第二种稍微麻烦些:双击打开module-info.java文件

加入代码:

requires java.sql;

完成后如下图:

40c6c97b15364ca0a7c0a2574efe795e.png

保存退出即可。

在你的MySQL中新建一个jiangpin数据库,属性如下:

0cdb66ac963742a1b603de19c1564be6.png

 

数据库结构和数据如下:

将下一代码复制粘贴到记事本另存为(.sql)文件,然后运行SQL文件

如图:a3afa5a6ce2146b2ba5ad2c6df525cab.png

 

 

/*
 Navicat Premium Data Transfer

 Source Server         : test
 Source Server Type    : MySQL
 Source Server Version : 80029
 Source Host           : localhost:3306
 Source Schema         : jiangpin

 Target Server Type    : MySQL
 Target Server Version : 80029
 File Encoding         : 65001

 Date: 18/06/2022 11:47:01
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for 奖品
-- ----------------------------
DROP TABLE IF EXISTS `奖品`;
CREATE TABLE `奖品`  (
  `id` char(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `luck` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of 奖品
-- ----------------------------
INSERT INTO `奖品` VALUES ('11', '二等奖');
INSERT INTO `奖品` VALUES ('2', '一等奖');
INSERT INTO `奖品` VALUES ('22', '二等奖');
INSERT INTO `奖品` VALUES ('23', '三等奖');
INSERT INTO `奖品` VALUES ('29', '三等奖');
INSERT INTO `奖品` VALUES ('32', '三等奖');
INSERT INTO `奖品` VALUES ('33', '三等奖');
INSERT INTO `奖品` VALUES ('34', '三等奖');
INSERT INTO `奖品` VALUES ('35', '三等奖');
INSERT INTO `奖品` VALUES ('4', '二等奖');
INSERT INTO `奖品` VALUES ('5', '二等奖');

SET FOREIGN_KEY_CHECKS = 1;

 

这里提供一个java测试代码:写一个DBCon作为主类

import java.sql.*;
public class DBCon {
	Connection con=null;
	ResultSet rs=null;
	Statement stmt=null;
	
	public DBCon() {
		try {
			//加载驱动
			Class.forName("com.mysql.cj.jdbc.Driver");
			//建立数据库的连接
			con=DriverManager.getConnection("jdbc:mysql://localhost:3306/jiangpin?characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false"/*“jiangpin”为建立的数据库名称*/, "root"/*数据库的管理员账户名*/, "123456"/*数据库的管理员的密码*/);
			stmt=con.createStatement();
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	public Connection getconn() {
		return con;
	}
	public static void main(String[] args) {
		try {
			//定义SQL语句
			String sql="select*from 奖品;";
			//调用DBCon类的getconn()方法获得连接
			DBCon db=new DBCon();
			Connection conn=db.getconn();
			//预编译SQL语句
			PreparedStatement pstm;
			pstm=conn.prepareStatement(sql);
			//为参数赋值
			
			//执行SQL语句
			ResultSet rs=pstm.executeQuery();
			
			System.out.print("编号\t奖品\n");
			//处理结果集
			while(rs.next()) {
				System.out.print(rs.getString("id")+"\t"+rs.getString("luck")+"\n");
			}
			//关闭连接
			rs.close();
			pstm.close();
			conn.close();
		}catch(SQLException e) {
			e.printStackTrace();
		}
	}
}

Java程序运行结果如下:

a6ef2d9416704d258f0ef685402076f2.png

 这样教程就到此结束了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cknano

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值