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…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
动态规划-1035.不相交的线-力扣(LeetCode)
一、题目解析 光看题目要求和例图,感觉这题好麻烦,直线不能相交啊,每个数字只属于一条连线啊等等,但我们结合题目所给的信息和例图的内容,这不就是最长公共子序列吗?,我们把最长公共子序列连线起…...
shell脚本质数判断
shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数)shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数) 思路: 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...
