IntelliJ IDEA集成了众多插件,方便开发者使用,使用其自带的Database模块就可以很方便的配置、连接到数据库,本次操作以MySQL为例,其中testjdbc数据库已经提前建好,里面有两张表emp_table 和 t_user,相关信息如下图。
连接到MySQL数据库
1、选择数据源
在IDEA中新建一个Java工程后,最右侧侧边栏会有个 Database
标签,点击此标签,然后点击+
按钮
,选择Data Source
,选择MySQL
,如果是其他数据源,选择其他对应按钮即可。过程如下图所示。
2、下载驱动
如下图是下载好MySQL驱动的情况。如果是第一次进入此界面并且没有驱动,IDEA会在Driver处提示没有下载对应数据库类型的驱动,直接点击,就会自动下载,稍作等待后,结果显示为MySQL,若点击此标签,可以对MySQL的驱动文件进行进一步配置。
3、配置账户、密码信息
如上图所示,需要填写数据库账户信息,这里我的用户名User为root,由于是本地数据库,所以Host填写为localhost,端口Port为3306,Password填写用户名对应的密码即可,Database可以填写想连接的数据库名,也可以暂时不填,待连接上后再设置。填写以上所有信息后,点击Test Connection
按钮,如果显示成功Successful,说明连接成功,点击OK
按钮,配置完成。
4、查看、修改数据库
- 连接到数据库后,在
Database
标签下,可以查看数据库结果,如下图所示,可以看到testjdbc库下有两张表,分别是emp_table 和 t_user,并且能看到表的列信息。如下图所示。
- 点击表名或者列名,就可以查看表信息,也可以修改表信息,如下图所示。
使用JDBC操作数据库
1、导入驱动包到工程
- 在
Database
标签下,右键刚刚建立的数据源名,选择属性Properties
,进入之前配置数据源的界面,如下图所示。
- 点击Driver处
MySQL
,查看驱动信息,如下图所示。
- 查看驱动包在计算机中的位置,记下这个路径,方便后面导入这个jar包,如下图。
- 查看到MySQL驱动包的位置后,关闭窗口,在主界面点击
File
->Project Structure
,进入工程设置界面。然后在左侧栏,点击Modules
,再选择Dependencies
,再点击右侧的+
按钮,选择JARs or directories
,找到上面MySQL驱动jar包的位置,选择这个jar文件。成功导入后,在Export栏下会有两项,分别是jdk和刚刚导入的jar包,如下图所示。
导入成功后,在工程目录External Libraries下面也会出现导入的驱动包名称,如下图所示。
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 username pwd regTime");
while (rs.next()) {
System.out.println(rs.getInt(1) + " " + rs.getString(2)
+ " " + rs.getString(3) + " " + 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的内容,执行程序后的结果如下图。