当前位置: 首页 > news >正文

idea连接数据库,idea连接MySQL,数据库驱动下载与安装

文章目录

  • 普通Java工程
    • 先创建JAVA工程
    • JDBC连接数据库
    • 测试连接
  • 可视化连接数据库
  • 数据库驱动下载与安装
    • 常用的数据库驱动下载
      • MySQL数据库
      • Oracle数据库
      • SQL Server 数据库
      • PostgreSQL数据库
    • 下载MySQL数据库驱动
    • JDBC连接各种数据库的连接语句
      • MySQL数据库
      • Oracle数据库
      • DB2数据库
      • sybase数据库
      • PostgreSQL数据库
      • Sql Server2000数据库
      • Sql Server2005数据库
  • 参考

以前没有过记录,现在又遇到了MySQL驱动出现问题, 发现没有自己的连接记录, 所以再来整理记录下连接使用数据库的过程

普通Java工程

下面用它来演示一下如何创建一个普通的Java工程,并导入MySql数据库的驱动包,用JDBC方式来连接数据库。

Intellij Idea 安装过程先略过不提,可自行百度安装。

先创建JAVA工程

打开Intellij Idea,创建Project,File->New->Project,如图所示:
在这里插入图片描述
指定JDK安装目录,再点击Next.
在这里插入图片描述
再次点击Next,来到如图所示地方,给项目取名,比如项目命名为:JDBCTest,最后点击Finish。
在这里插入图片描述
至此,项目已成功创建完毕。src->New->Package,添加包名:jdbc。(包名自定义)
在这里插入图片描述
创建Test类,测试java环境是否能正常运行如下:

package jdbc;
public class Test {public static void main(String [] agrs){System.out.println("hello JDBC");}
}

在这里插入图片描述

JDBC连接数据库

创建一个目录,用来放mysql的驱动包,类似eclipse的lib目录:JDBCDemo->New->Directory 名字可以任意取。
在这里插入图片描述
把mysql的Jdbc.jar包复制过来在目录 JDBCposition 可以看到(jar包没有可以在官网下载)。
MySQL驱动官网下载地址链接
关于安装配置JDBC可以看文章后面 数据库驱动下载与安装
在这里插入图片描述
把jar包添加到项目里,类似eclipse的add to build path功能,快捷键:Ctrl+Alt+Shift+S,弹出图示菜单 。选择第一项:JARs or directories。
在这里插入图片描述
在这里插入图片描述
找到刚才添加的jar包,点击确定。

在这里插入图片描述

测试连接

准备工作:
在本地先安装好MySql环境,安装过程可自行百度,然后用Navicat可视化工具(安装过程可自行百度, 用别的也行, 不用可视化也行),执行以下脚本初始化数据:

#创建名为demo的数据库,如果存在则删除
DROP DATABASE IF EXISTS demo;
CREATE DATABASE demo;
#切换到 demo 数据库
USE demo;
#创建表,名为demo,如果表存在则删除
DROP TABLE IF EXISTS demo;
CREATE TABLE demo(
id BIGINT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT ‘表主键’,
name VARCHAR(16) NOT NULL COMMENT ‘名称’
);
#批量写入三条记录
INSERT INTO demo(name)
VALUES
(‘guojia’),
(‘yangguo’),
(‘huangrong’);

在这里插入图片描述
在这里插入图片描述
创建JDBCTest类,输入以下代码:

package jdbc;
import java.sql.*;public class JDBCTest {//mysql驱动包名private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";//数据库连接地址private static final String URL = "jdbc:mysql://localhost:3306/demo";//用户名,更换成你自己的用户名,此处为root用户private static final String USER_NAME = "root";//密码,更换成你自己设定的密码,此处为:adminprivate static final String PASSWORD = "admin";public static void main(String[] args){Connection connection = null;try {//加载mysql的驱动类Class.forName(DRIVER_NAME);//获取数据库连接connection = DriverManager.getConnection(URL, USER_NAME, PASSWORD);//mysql查询语句String sql = "SELECT name FROM demo";PreparedStatement prst = connection.prepareStatement(sql);//结果集ResultSet rs = prst.executeQuery();while (rs.next()) {System.out.println("用户名:" + rs.getString("name"));}rs.close();prst.close();} catch (Exception e) {e.printStackTrace();}finally {if (connection != null) {try {connection.close();} catch (SQLException e) {e.printStackTrace();}}}}
}

然后点击运行

最后注意:由于我所使用的软件都是最新的版本运行之后可能会出现一下问题
修改private static final String DRIVER_NAME = “com.mysql.jdbc.Driver”; 改为 com.mysql.cj.jdbc.Driver;
在这里插入图片描述
修改 完以后运行出现第二个问题
private static final String URL = “jdbc:mysql://localhost:3306/demo”;
在demo后面 ?serverTimezone=UTC
在这里插入图片描述
在这里插入图片描述
再次运行就可以了 说明连接成功!
在这里插入图片描述

可视化连接数据库

需要使用专业版的idea
在view窗口将以下四个进行勾选,便于后续的操作。
在这里插入图片描述
在连接MySQL之前一定要通过cmd管理员方式运行,启动MySQL的服务,接下来按顺序对idea进行以下操作
在这里插入图片描述
在这里插入图片描述
以下是我填好的示范。
在这里插入图片描述
MySQL的驱动下载:重中之重啊!下载链接https://downloads.mysql.com/archives/c-j/

idea中安装MySQL的驱动,把下好的驱动文件解压和你的MySQL文件放在一起(只是便于查找,随意放在自己知道的路径中都可),自己一定要记住文件的放置路径。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择文件夹中图对应的驱动文件,点击ok。
在这里插入图片描述
点击Test Connection 出现Successful就代表连接成功,点击Ok,保存,这就连接完成了,只要保证MySQL安装的比较好就不会有什么其它问题。最后的界面见下:
在这里插入图片描述

数据库驱动下载与安装

常用的数据库驱动下载

使用JDBC操作数据库,需要使用数据库厂商提供的驱动程序,通过驱动程序可以与数据库进行交互。

MySQL数据库

https://dev.mysql.com/downloads/connector/

Oracle数据库

https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/index.html

SQL Server 数据库

https://docs.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-2017

PostgreSQL数据库

https://jdbc.postgresql.org/download.html

下载MySQL数据库驱动

进入下载地址:https://dev.mysql.com/downloads/connector/j/
在这里插入图片描述
选择:Platform Independent

TAR包是Linux操作系统下的,ZIP包是Windows操作系统下的,这里我们选择ZIP包。

JDBC连接各种数据库的连接语句

MySQL数据库

driverClass:com.mysql.jdbc.Driver 或者com.mysql.cj.jdbc.Driver

url:jdbc:mysql://localhost:3306/mydb

说明:

com.mysql.jdbc.Driver驱动是mysql-connector-java 5中的

com.mysql.cj.jdbc.Driver驱动是mysql-connector-java 6以上版本的

有的时候,mysql的驱动类也会看到使用org.gjt.mm.mysql.Driver的情况,org.gjt.mm.mysql.Driver是早期的驱动名称,后来就改名为com.mysql.jdbc.Driver,现在一般都推荐使用com.mysql.jdbc.Driver。在最新版本的mysql jdbc驱动中,为了保持对老版本的兼容,仍然保留了org.gjt.mm.mysql.Driver,但是实际上org.gjt.mm.mysql.Driver中调用了com.mysql.jdbc.Driver,因此现在这两个驱动没有什么区别。

Oracle数据库

driverClass:oracle.jdbc.driver.OracleDriver

url:jdbc:oracle:thin:@127.0.0.1:1521:dbname

DB2数据库

driverClass:com.ibm.db2.jcc.DB2Driver

url:jdbc:db2://127.0.0.1:50000/dbname

sybase数据库

driverClass:com.sybase.jdbc.SybDriver`

url:jdbc:sybase:Tds:localhost:5007/dbname

PostgreSQL数据库

driverClass:org.postgresql.Driver

url:jdbc:postgresql://localhost/dbname

Sql Server2000数据库

driverClass:com.microsoft.jdbc.sqlserver.SQLServerDriver

url:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname

Sql Server2005数据库

driverClass:com.microsoft.sqlserver.jdbc.SQLServerDriver

url:jdbc:sqlserver://localhost:1433; DatabaseName=dbname

说明:

SQL Server2000和2005的驱动是有区别的,使用错误的时候,会出现下面这个错误。java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]

参考

最新Intellij Idea2020.01使用JDBC连接数据库
JDBC数据库驱动的下载、安装与连接
超详细的Idea与MySQL的连接(从入门到精通)

相关文章:

idea连接数据库,idea连接MySQL,数据库驱动下载与安装

文章目录 普通Java工程先创建JAVA工程JDBC连接数据库测试连接 可视化连接数据库数据库驱动下载与安装常用的数据库驱动下载MySQL数据库Oracle数据库SQL Server 数据库PostgreSQL数据库 下载MySQL数据库驱动JDBC连接各种数据库的连接语句MySQL数据库Oracle数据库DB2数据库sybase…...

Redis-实践知识

转自极客时间Redis 亚风 原文视频:https://u.geekbang.org/lesson/535?article681062 Redis最佳实践 普通KEY Redis 的key虽然可以自定义,但是最好遵循下面几个实践的约定: 格式:[业务名称]:[数据名]:[id] 长度不超过44字节 不…...

多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测

多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | MATLAB实现…...

leetcode160相交链表思路解析

分别让tmp1以及tmp2的结点分别先指向headA以及headB,当遍历完成后,再让tmp1以及tmp2分别指向haedB和headA反转 此处有个问题:为什么if判断句中写tmp1!=nullptr,能够编译通过,但是写tmp1->ne…...

在线分析工具-日志优化

一、概述 针对于大日志文件,统计分析出日志文件的相关指标,帮助开发测试人员,优化日志打印。减少存储成本 二、日志分析指标 重复打印日志:统一请求reqId的重复打印日志打印最多的方法:检测出打印日志最多的方法…...

硬核实战!mysql 错误操作整个表全部数据后如何恢复?附解决过程、思路(百万行SQL,通过binlog日志恢复)

mysql 错误操作整个表全部数据后如何恢复?(百万行SQL,通过binlog日志恢复) 事件起因 事情起因:以为某个表里的数据都是系统配置的数据,没有用户数据,一个字段需要覆盖替换为新的url链接&#x…...

【什么是反射机制?为什么反射慢?】

✅ 什么是反射机制?为什么反射慢? ✅典型解析✅拓展知识仓✅反射常见的应用场景✅反射和Class的关系 ✅典型解析 反射机制指的是程序在运行时能够获取自身的信息。在iava中,只要给定类的名字,那么就可以通过反射机制来获得类的所有…...

PostGreSQL:货币类型

货币类型:money money类型存储固定小数精度的货币数字,小数的精度由数据库的lc_monetary设置决定。windows系统下,该配置项位于/data/postgresql.conf文件中,默认配置如下, lc_monetary Chinese (Simplified)_Chi…...

ESP8266网络相框采用TFT_eSPI库TJpg_Decoder库mixly库UDP库实现图片传送

用ESP8266和TFT_ESPI模块来显示图片数据。具体来说,我们将使用ILI9431显示器作为显示设备,并通过UDP协议将图片数据从发送端传输到ESP8266。最后,我们将解析这些数据并在TFT屏幕上显示出来。在这个过程中,我们将面临一些编程挑战&…...

Go 泛型发展史与基本介绍

Go 泛型发展史与基本介绍 Go 1.18版本增加了对泛型的支持,泛型也是自 Go 语言开源以来所做的最大改变。 文章目录 Go 泛型发展史与基本介绍一、为什么要加入泛型?二、什么是泛型三、泛型的来源四、为什么需要泛型五、Go 泛型设计的简史六、泛型语法6.1 …...

python 解决手机拍的书籍图片发灰的问题

老师给发的作业经常是手机拍的,而不是扫描,背景发灰,如果二次打印就没有看了,象这样: 如果使用photoshop 处理,有些地方还是扣不干净,不如python 做的好,处理后如下: 具体…...

【prompt一】Domain Adaptation via Prompt Learning

1.Motivation 当前的UDA方法通过对齐源和目标特征空间来学习域不变特征。这种对齐是由诸如统计差异最小化或对抗性训练等约束施加的。然而,这些约束可能导致语义特征结构的扭曲和类可辨别性的丧失。 在本文中,引入了一种新的UDA提示学习范式&#xff0…...

视频编辑与制作,添加视频封面的软件

如今,视频已经成为了我们生活中不可或缺的一部分,无论是社交媒体上的短视频,还是电影、电视剧,视频都以其独特的魅力吸引着我们的目光。而在这背后,视频剪辑软件功不可没。今天,我就为大家揭秘一款新一代的…...

Deepin更换仿Mac主题

上一篇博客说了要写一篇deepin系统的美化教程 先看效果图: 准备工作: 1.你自己 嘻嘻嘻 2.能上网的deepin15.11电脑 首先去下载主题 本次需要系统美化3部分:1.图标 2.光标 3.壁纸 开始之前,请先把你的窗口特效打开,…...

【Flink-Kafka-To-ClickHouse】使用 Flink 实现 Kafka 数据写入 ClickHouse

【Flink-Kafka-To-ClickHouse】使用 Flink 实现 Kafka 数据写入 ClickHouse 1)导入相关依赖2)代码实现2.1.resources2.1.1.appconfig.yml2.1.2.log4j.properties2.1.3.log4j2.xml2.1.4.flink_backup_local.yml 2.2.utils2.2.1.DBConn2.2.2.CommonUtils2.…...

浅谈Redis分布式锁(下)

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 自定义Redis分布式锁的…...

Django Rest Framework框架的安装

Django Rest Framework框架的安装 Django Rest Framework框架的安装 1.DRF简介2.安装依赖3.安装使用pip安装添加rest_framework应用 1.DRF简介 Django REST Framework是Web api的工具包。它是在Django框架基础之上,进行了二次开发。 2.安装依赖 链接python安装 …...

深度学习(七):bert理解之输入形式

传统的预训练方法存在一些问题,如单向语言模型的局限性和无法处理双向上下文的限制。为了解决这些问题,一种新的预训练方法随即被提出,即BERT(Bidirectional Encoder Representations from Transformers)。通过在大规模…...

如何用Excel制作一张能在网上浏览的动态数据报表

前言 如今各类BI产品大行其道,“数据可视化”成为一个热门词汇。相比价格高昂的各种BI软件,用Excel来制作动态报表就更加经济便捷。今天小编就将为大家介绍一下如何使用葡萄城公司的纯前端表格控件——SpreadJS来实现一个Excel动态报表: 实…...

双向数据绑定是什么

一、什么是双向绑定 我们先从单向绑定切入单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新双向绑定就很容易联想到了,在单向绑定的基础上,用户更新了View,Mo…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...