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提示学习范式࿰…...
视频编辑与制作,添加视频封面的软件
如今,视频已经成为了我们生活中不可或缺的一部分,无论是社交媒体上的短视频,还是电影、电视剧,视频都以其独特的魅力吸引着我们的目光。而在这背后,视频剪辑软件功不可没。今天,我就为大家揭秘一款新一代的…...
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…...
Agent = Model + Harness
Agent Model Harness从通用视角拆解 Agent 的完整工程链路。本文不做框架对比,只回答一个问题:Agent 真正的工程在哪里? 读完应当能在自己的 Agent 实现里识别出对应的层次,并判断哪一段最值得优化。图 0 全链路总览࿱…...
AI文本检测技术解析:从原理到实践,构建内容真实性鉴别工具
1. 项目概述:AI写作检测工具的核心价值最近在GitHub上看到一个挺有意思的项目,叫“AI-Writing-Detection”。光看名字,你大概就能猜到它是干什么的——检测一段文本是不是AI写的。这玩意儿现在可太有用了。自从大语言模型(LLM&…...
4.【Python】Python3 注释
第一步:分析与整理 注释1. 注释的作用 不影响程序执行,只提高可读性。帮助理解代码逻辑,方便团队协作。2. 单行注释 以 # 开头,直到行末的所有内容均为注释。 # 这是一个注释 print("Hello, World!") # 这也是注释3. 多…...
Prometheus数据采集扩展:claw-prometheus项目详解与实战
1. 项目概述:一个为Prometheus量身定制的“数据抓取器”在云原生和微服务架构大行其道的今天,监控系统的地位不言而喻。Prometheus,作为这个领域的“事实标准”,以其强大的多维数据模型和灵活的查询语言(PromQL&#x…...
给STM32加个‘U盘’:手把手教你用W25Q64 Flash芯片实现掉电不丢失的数据存储
给STM32加个‘U盘’:手把手教你用W25Q64 Flash芯片实现掉电不丢失的数据存储 在嵌入式系统开发中,数据存储一直是个让人头疼的问题。想象一下,你花了一周时间调试的传感器参数,因为一次意外断电全部丢失;或者精心收集的…...
Go语言实现轻量级双向文件同步工具clawsync配置与实战
1. 项目概述:一个轻量级的文件同步利器在数据备份、多设备协同或者项目部署的场景里,文件同步是个绕不开的活儿。你可能用过rsync,功能强大但命令参数复杂;也可能试过syncthing,全平台覆盖但需要常驻后台服务。如果你在…...
从田野笔记到理论建模,NotebookLM政治学辅助全流程拆解,含6类典型误用场景避坑指南
更多请点击: https://intelliparadigm.com 第一章:从田野笔记到理论建模:NotebookLM政治学辅助全流程概览 NotebookLM 作为 Google 推出的基于用户上传文档进行深度语义理解的 AI 助手,正逐步成为政治学研究者处理非结构化文本的…...
扣图操作方法完全指南:2026年最实用的AI一键抠图工具推荐
说起扣图,我相信很多人都有过这样的经历——花半天时间用PS的钢笔工具精心描绘边界,最后还是差强人意。或者为了给证件照换个背景,反复调整参数却效果一般。今天我就来分享一下2026年最实用的扣图操作方法,以及那些真正能救命的工…...
Allegro铺铜避坑指南:从十字花焊盘到孤铜删除,新手必知的10个实用技巧
Allegro铺铜避坑指南:从十字花焊盘到孤铜删除,新手必知的10个实用技巧 第一次在Allegro中铺铜时,那种手足无措的感觉我至今记忆犹新。面对密密麻麻的参数选项和看似简单的操作背后隐藏的各种"坑",即使是完成了布局布线的…...
时间序列分类的能效优化与剪枝策略实践
1. 时间序列分类的能效挑战与剪枝策略概述时间序列分类(Time Series Classification, TSC)作为机器学习的重要分支,在医疗监测、工业设备故障诊断、金融行为分析等领域发挥着关键作用。随着应用场景的复杂化和数据规模的扩大,传统…...
