IntelliJ IDEA 连接数据库 详细过程


IntelliJ IDEA集成了众多插件,方便开发者使用,使用其自带的Database模块就可以很方便的配置、连接到数据库,本次操作以MySQL为例,其中testjdbc数据库已经提前建好,里面有两张表emp_table 和 t_user,相关信息如下图。

1397676-20180914140428988-650140724.png

连接到MySQL数据库

1、选择数据源

在IDEA中新建一个Java工程后,最右侧侧边栏会有个 Database 标签,点击此标签,然后点击+按钮
,选择Data Source,选择MySQL,如果是其他数据源,选择其他对应按钮即可。过程如下图所示。

1397676-20180914135750615-1050365771.png

2、下载驱动

如下图是下载好MySQL驱动的情况。如果是第一次进入此界面并且没有驱动,IDEA会在Driver处提示没有下载对应数据库类型的驱动,直接点击,就会自动下载,稍作等待后,结果显示为MySQL,若点击此标签,可以对MySQL的驱动文件进行进一步配置。

1397676-20180914135759749-1466449314.png

3、配置账户、密码信息

如上图所示,需要填写数据库账户信息,这里我的用户名User为root,由于是本地数据库,所以Host填写为localhost,端口Port为3306,Password填写用户名对应的密码即可,Database可以填写想连接的数据库名,也可以暂时不填,待连接上后再设置。填写以上所有信息后,点击Test Connection按钮,如果显示成功Successful,说明连接成功,点击OK按钮,配置完成。

4、查看、修改数据库

  • 连接到数据库后,在Database标签下,可以查看数据库结果,如下图所示,可以看到testjdbc库下有两张表,分别是emp_table 和 t_user,并且能看到表的列信息。如下图所示。

1397676-20180914135810807-1026069661.png

  • 点击表名或者列名,就可以查看表信息,也可以修改表信息,如下图所示。

1397676-20180914135826023-736982158.png

使用JDBC操作数据库

1、导入驱动包到工程

  • Database标签下,右键刚刚建立的数据源名,选择属性Properties,进入之前配置数据源的界面,如下图所示。

1397676-20180914135837093-1252189974.png

  • 点击Driver处MySQL,查看驱动信息,如下图所示。

1397676-20180914135844403-2107412078.png

  • 查看驱动包在计算机中的位置,记下这个路径,方便后面导入这个jar包,如下图。

1397676-20180914135852756-928275005.png

  • 查看到MySQL驱动包的位置后,关闭窗口,在主界面点击File->Project Structure,进入工程设置界面。然后在左侧栏,点击Modules,再选择Dependencies,再点击右侧的+按钮,选择JARs or directories,找到上面MySQL驱动jar包的位置,选择这个jar文件。成功导入后,在Export栏下会有两项,分别是jdk和刚刚导入的jar包,如下图所示。

1397676-20180914135902742-2091505809.png

导入成功后,在工程目录External Libraries下面也会出现导入的驱动包名称,如下图所示。

1397676-20180914135913001-238360162.png

2、使用jdbc操作数据库

import java.sql.*;public class ConnMySQL {public static void main(String[] args) throws Exception {Connection conn = null;try {// 加载驱动类Class.forName("com.mysql.jdbc.Driver");long start =System.currentTimeMillis();// 建立连接conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testjdbc","root", "【填写对应的密码】");long end = System.currentTimeMillis();System.out.println(conn);System.out.println("建立连接耗时: " + (end - start) + "ms 毫秒");// 创建Statement对象Statement stmt = conn.createStatement();// 执行SQL语句ResultSet rs = stmt.executeQuery("select * from t_user");System.out.println("id\tusername\tpwd\t\tregTime");while (rs.next()) {System.out.println(rs.getInt(1) + "\t" + rs.getString(2)+ "\t\t" + rs.getString(3) + "\t\t" + rs.getString(4));}} catch (SQLException e) {e.printStackTrace();} finally {try {if (rs != null) {rs.close();}} catch (SQLException e) {e.printStackTrace();}try {if (stmt != null) {stmt.close();}} catch (SQLException e) {e.printStackTrace();}try {if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}}}
}

3、程序执行结果

  • 上面的程序中,使用了一条查询语句,查询表t_user的内容,执行程序后的结果如下图。

1397676-20180914135927107-2096573403.png

转载于:https://www.cnblogs.com/Ran-Chen/p/9646187.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux线程编程

参考:Linux多线程编程初探 作者:峰子_仰望阳光 网址:https://www.cnblogs.com/xiehongfeng100/p/4620852.html 目录线程概述线程概念线程与进程区别为何用线程线程开发api概要线程创建、等待、退出线程创建线程退出线程等待线程ID获取及比较线…

Controlling Execution

2019独角兽企业重金招聘Python工程师标准>>> 逗号操作符 逗号操作符在java中特殊之处在于两个地方: 1. 定义同种类型的变量时可以这样写: int i10,j20;//只有同种变量才行 2. 在for循环中的初始化条件和变化的步骤中对于同种类型的可以连接…

前端 js 非控件 使用标签打印机 打印二维码和文本_青岛Web前端(HTML5)面试题分享...

HTML5是前端开发人员必须掌握的技能之一,那么在面试时,面试官常问到的HTML5的问题有哪些呢?青岛HTML51、Doctype作用?严格模式与混杂模式如何区分?它们有何意义?答:告知浏览器的解析器&#xff…

SpringBoot整合SpringBatch实用简例

SpringBatch主要是一个轻量级的大数据量的并行处理(批处理)的框架。 作用和Hadoop很相似,不过Hadoop是基于重量级的分布式环境(处理巨量数据),而SpringBatch是基于轻量的应用框架(处理中小数据)。 这里使用SpringBatch做了一个能跑的最简单例子&#xff…

安卓APP_ Fragment(1)—— Fragment概念、基础用法、动态变换、管理栈

摘自:安卓APP_ Fragment(1)—— Fragment概念、基础用法、动态变换、管理栈 作者:丶PURSUING 发布时间: 2021-04-15 23:32:31 网址:https://blog.csdn.net/weixin_44742824/article/details/115716359 目录…

谷歌五笔输入法电脑版_“五笔输入法”打字速度更快,为什么却没啥人用?

现如今,随着国内经济水平的不断发展,电脑和手机都已经不再是稀罕玩意,因为现在国内有很多的厂家都在生产手机和电脑,导致这些电子产品的价格下降,所以我们很轻易就能够买得起这样的产品。而在手机、电脑普及之后&#…

安卓APP_ Fragment(2)—— Activity与Fragment的通信

摘自:安卓APP_ Fragment(2)—— Activity与Fragment的通信 作者:丶PURSUING 发布时间: 2021-04-16 17:23:44 网址:https://blog.csdn.net/weixin_44742824/article/details/115743009 目录 Activity与Fragm…

java socket 判断Socket连接失效

要判断socket连接链路是否可用时,不能通过socket.isClosed() 和 socket.isConnected() 方法判断,要通过心跳包 socket.sendUrgentData(0xFF) 。 当第一次连接成功后, socket.isClosed() false, socket.isConnected()true,只有在自…

安卓APP_ Fragment(3)—— Fragment的生命周期

摘自:安卓APP_ Fragment(3)—— Fragment的生命周期 作者:丶PURSUING 发布时间: 2021-04-16 22:32:12 网址:https://blog.csdn.net/weixin_44742824/article/details/115768202 目录 Fragment生命周期函数一…

安卓APP_ 布局(8) —— 基于 RecyclerView 的 ViewPager2翻页

摘自:安卓APP_ 布局(8) —— 基于 RecyclerView 的 ViewPager2翻页 作者:丶PURSUING 发布时间: 2021-04-20 15:37:54 网址:https://blog.csdn.net/weixin_44742824/article/details/115803077 viewpager2 是对Recycler…

安卓APP_ Fragment(4)—— Fragment + ViewPager2 模拟微信首页 (1)两者联动实现翻页

摘自:安卓APP_ Fragment(4)—— Fragment ViewPager2 模拟微信首页 (1)两者联动实现翻页 作者:丶PURSUING 发布时间: 2021-04-20 17:46:59 网址:https://blog.csdn.net/weixin_4474…

Linux网络编程(Socket)

目录网络编程(Socket)概述引入网络编程通识扫盲socket套接字套接字描述符字节序socket编程步骤Linux提供的API简析创建套接字即连接协议[socket](服、客)绑定IP和端口[bind](服)地址转换api字节序转换api监…

嵌入式开发概述(树莓派介绍)

目录嵌入式定义嵌入式芯片选型ARM架构ARM树莓派嵌入式定义 国内普遍认同的嵌入式系统的定义是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功耗、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 嵌入式系统是软件和…

ubuntu 16gcc g++版本降级

打算在ubuntu16上编译linux3.4.66内核,但是遇到 In file included from include/linux/compiler.h:48:0, from include/linux/stddef.h:4, from include/linux/posix_types.h:4, from include/linux/types.h:17, from include/linux/page-flags.h:8, from kern…

android 系统gpu 调试_【资讯】高通公布首批可OTA更新GPU驱动手机:谷歌Pixel 4/三星S10在列...

文章转载自:iT之家原文链接:https://www.ithome.com/0/479/483.htm(IT之家3月25日消息) 谷歌今天宣布了一系列面向游戏开发者的新工具:Google Play Asset Delivery、Android性能调节器,Android GPU检查器和Cloud Firestore等&…

cURL库

一、cURL库可以做什么 1.cURL是一个文件传输工具,支持很多协议 二、cURL库的用法 1.初始化 $urlcurl_init() 2.设置选项 curl_setopt($url,CURLOPT_URL,"http://www.baidu.com") curl_setopt($url,string option,mixed value) 3.执行cURL会话 …

树莓派刷机

目录准备刷机重刷准备 SD卡(一般16G以上,这里我用的8G) 读卡器 Win32DiskImager(将镜像烧到SD卡的软件),在这里下载:https://download.csdn.net/download/zhuguanlin121/18329615?spm1001.201…

linux3.4.2移植总结(s3c2440)

环境:Linux version 3.5.0-23-generic (builddkomainu) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) ubuntu12 目标板:JZ2440 待移植内核:3.4.2 交叉编译器:arm-linux-gcc-4.3.2 1. make s3c2410_defconfig //使…

判断图有无环_浅谈什么是图拓扑排序

1 引言 在工程实践中,一个工程项目往往由若干个子项目组成。这些子项目间往往有两种关系:  (1) 先后关系,即必须在某个项完成后才能开始实施另一个子项目。  (2) 子项目间无关系,即两个子项目可以同时进行,互不影响。例如:在工厂里产品的…

Source Insight 4.0安装教程(PS:附安装包及卸载重新安装等注意事项)

目录一、Source Insight 4.0安装包二、删除配置文件(初次安装忽略此步骤)1、清除注册表信息:2、删除全局配置信息:三、安装步骤1、解压2、安装3、替换4、破解5、安装提示unable to open or create...解决方案一、Source Insight 4…