IDEA自帶的數(shù)據(jù)庫(kù)插件,真香
最近阿粉的一個(gè)讀者問阿粉,說(shuō)進(jìn)了一個(gè)公司,但是是外包身份進(jìn)入的,而且甲方公司要求不能在電腦上裝一些破解的,盜版的軟件,只要發(fā)現(xiàn)就能掃描到并且被刪除。而且還沒有提供正版的軟件的激活碼,就問阿粉,說(shuō)有沒有什么類似Navicat 一樣的工具,又強(qiáng)大,又好用的。
插件就是這么秀
阿粉前兩天因?yàn)閷懥艘粋€(gè)關(guān)于 JPA 的文章,有的讀者看完之后,就引出了這個(gè)插件,阿粉今天就來(lái)給大家來(lái)安排一下這個(gè)插件是怎么使用的。
實(shí)際上這個(gè)插件一般都是內(nèi)置好的,也就是說(shuō)各位小伙伴們無(wú)需去進(jìn)行額外的操作去安裝,IDEA右邊工具欄,有個(gè)Database插件。

我們點(diǎn)開來(lái)看看。

各式各樣的數(shù)據(jù)庫(kù)都能用呀,那我們就用我們最稀松平常的 MySQL 來(lái)操作一波。

我們先填寫一下這個(gè),如果你是本地裝的 MySQL 的話,那就是 localhost,如果你是在你的阿里云服務(wù)器上安裝的 MySQL 的,那就是你的地址了,如果你是通過(guò) Docker 安裝的 MySQL 的話,記得把遠(yuǎn)程訪問的權(quán)限都給打開,不然你是連不上你的 MySQL 的。Docker 解除 MySQL 的遠(yuǎn)程訪問權(quán)限命令如下:
use mysql;
select host,user from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
//root 你的賬號(hào) 123456 你的密碼
flush privileges;
接下來(lái),我們就來(lái)配置一下,試試看。阿粉的是在阿里云上的一個(gè)服務(wù)器,安裝的 Docker 來(lái)使用的 MySQL ,

如果出現(xiàn)
DBMS: MySQL (ver. 8.0.26)
Case sensitivity: plain=exact, delimited=exact
Driver: MySQL Connector/J (ver. mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0), JDBC4.2)
Ping: 110 ms
SSL: yes
那恭喜你了,能連上了,直接開始我們的使用。

這個(gè) schema 很多人就疑惑了,這是個(gè)啥。好像和 Navicat 里面的 Database 不太一樣,實(shí)際上,MySQL的文檔中指出,在物理上,模式與數(shù)據(jù)庫(kù)是同義的,所以,模式和數(shù)據(jù)庫(kù)是一回事。而這個(gè)模式就是 schema。
所以,大家直接把 schema 當(dāng)成 Database 看就可以了。直接全部勾選上就可以了。
我們就能看到我們的數(shù)據(jù)庫(kù)了,接下來(lái),就是表了。

這就是我們所有的表的內(nèi)容,展開的話,包括表結(jié)構(gòu)等所有的內(nèi)容都有展示,都能展示的很完全,包括字段的主鍵,類型,等等一系列的內(nèi)容,

剩下的就是查詢了。
Database 的查詢。
1.選中你要查詢的數(shù)據(jù)庫(kù),右鍵,創(chuàng)建一個(gè) Query Console 窗口,就和 Navicat 的新建查詢效果是一樣的。

然后就是寫你的查詢語(yǔ)句了。

而且單表的話,和 Navicat 一樣,支持直接在查詢結(jié)果上面修改各種值,但是修改完之后要記得 Commit 一下,不會(huì)和 Navicat 一樣,切出去之后,自己就給你更新了。


看,這個(gè)樣子是不是就改好了。
插件直接新建表

當(dāng)然,也是支持創(chuàng)建表結(jié)構(gòu)的,畢竟你只有查詢那是不可能的,所以,我們就來(lái)創(chuàng)建一個(gè)表結(jié)構(gòu)來(lái)試試。

實(shí)際上就是寫了創(chuàng)建表的語(yǔ)句,然后再窗口執(zhí)行了,我們也可以不通過(guò)這種方式來(lái)建表,直接寫熟悉的 SQL 語(yǔ)句來(lái)進(jìn)行建表實(shí)戰(zhàn)。
CREATE TABLE IF NOT EXISTS `just_do_java`(
`just_do_java_id` INT UNSIGNED AUTO_INCREMENT,
`rjust_do_java_title` VARCHAR(100) NOT NULL,
`just_do_java_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `just_do_java_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

大家看,沒毛病呀,所以,你導(dǎo)出的 .sql 的腳本,拉過(guò)來(lái)也是直接可以使用的。
而且和 Navicat 完全沒太大的區(qū)別,只是使用習(xí)慣有些不太一樣了,但是,阿粉想說(shuō)的是,如果你能用 Navicat 的話,這個(gè)東西對(duì)你來(lái)說(shuō)屬于可有可無(wú)的東西,畢竟不是所有的公司都不提供給你正版軟件使用的。
比如某東,雖然比較坑爹,但是人家會(huì)統(tǒng)計(jì)需要使用開發(fā)的軟件,然后給你提供軟件的正版授權(quán),但是有些公司就不給,可能是因?yàn)橥獍桑阌X得呢?
























