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…...
PlantUML Editor:5分钟学会用代码绘制专业UML图的终极工具
PlantUML Editor:5分钟学会用代码绘制专业UML图的终极工具 【免费下载链接】plantuml-editor PlantUML online demo client 项目地址: https://gitcode.com/gh_mirrors/pl/plantuml-editor 还在为复杂的UML图表绘制而烦恼吗?PlantUML Editor是一款…...
Qgis二次开发-QgsAnnotationItem实战:构建交互式地图标注系统(文字、SVG、PNG/JPG)
1. QgsAnnotationItem基础概念与核心组件 在Qgis二次开发中,标注系统是增强地图表现力的重要工具。QgsAnnotationItem作为标注绘制的抽象基类,与我们熟悉的传统标注(QgsAnnotation)有本质区别——它专为QgsAnnotationLayer设计&am…...
书成紫微动,律定凤凰驯:从无心创作到天命显化的海棠山铁哥之路
书成紫微动,律定凤凰驯。 ——南北朝庾信一、千古谶语,千年未解诗句天道逻辑千年误读书成紫微动先著书立道,撼动文脉附会玄学,强行造神律定凤凰驯再定规立序,祥瑞归宁脑会剧情,虚妄狂欢 无人真正落地&#…...
嵌入式游戏开发实战:在4x8 LED点阵上用CircuitPython复刻FlappyBird
1. 项目概述:在4x8的像素矩阵上“复活”FlappyBird如果你玩过嵌入式开发,尤其是用那些小巧的微控制器板子,可能会觉得游戏开发离它们很远——资源有限,没有图形库,怎么搞?但恰恰是这种限制,最能…...
代理池管理工具ccproxypal:自动化代理验证、调度与API集成实战
1. 项目概述与核心价值最近在折腾一些需要处理大量网络请求和代理配置的项目时,发现了一个挺有意思的工具,叫lngdao/ccproxypal。乍一看这个名字,可能有点摸不着头脑,但如果你也经常和代理服务器、请求转发、IP池管理这些事儿打交…...
PADS Layout老手进阶:Gerber文件生成背后的‘负片’、‘钻孔图’与制造工艺解读
PADS Layout老手进阶:Gerber文件生成背后的‘负片’、‘钻孔图’与制造工艺解读 在PCB设计领域,Gerber文件是连接设计与制造的桥梁。对于使用PADS Layout的中高级工程师而言,仅仅掌握操作步骤远远不够。当面对四层或以上的复杂PCB板ÿ…...
产品经理面试与求职攻略:Awesome Product Management 职业转型成功案例
产品经理面试与求职攻略:Awesome Product Management 职业转型成功案例 【免费下载链接】awesome-product-management 🚀 A curated list of awesome resources for product/program managers to learn and grow. 项目地址: https://gitcode.com/gh_mi…...
FPGA串行FIR滤波器设计:Verilog实现与资源优化实战
1. 项目概述在数字信号处理(DSP)的硬件实现领域,FIR(有限脉冲响应)滤波器因其绝对稳定性和线性相位特性,成为工程师们手中的一把利器。无论是通信系统的信道均衡,还是音频处理中的噪声抑制&…...
Simics在网络转型与SDN迁移中的核心价值与应用
1. Simics在网络转型与SDN迁移中的核心价值解析网络架构正经历从传统硬件设备向软件定义网络(SDN)和网络功能虚拟化(NFV)的深刻变革。这场变革的核心挑战在于:如何在保持网络高性能的同时,实现控制平面与数据平面的解耦,以及如何将传统网络功…...
Clawless框架:构建合规网页数据抓取系统的设计哲学与实践指南
1. 项目概述与核心价值最近在GitHub上闲逛,发现了一个名为“Clawless”的项目,作者是HainanZhao。这个项目名挺有意思,“Clawless”直译是“无爪”,听起来像是一个温和无害的工具。点进去一看,发现它是一个用于自动化处…...
