教你用eclipse连接mysql数据库
作者:低端程序媛 时间:2024-01-19 23:30:41
前言
由于总是出错,记录一下连接MySQL数据库的过程。
连接过程
1.下载MySQL并安装,这里的版本是8.0.18
2.下载MySQL的jdbc,下载后解压,个人将其保存在MySQL目录下,方便查找
3.连接数据库
(1)eclipse中选择Window-preferences-java-Build Path-User Libraries
(2)点击右侧的new按钮,
(3)在这里输入jdbc,选中对勾,点击ok
(4)回到上一级界面,点击Add External JARs,打开到你的jdbc存放的目录,打开-ok。
(5)接下来是在项目中导入jar包,项目右键-Build Path-Configure Build Path
(6)点击右侧Add Library… -User Library-Next。打上对勾点击finish
(7)回到上一级界面就可以看到你添加的jdbc,点击Apply再点击ok。
(8)这样在你的项目下就可以看到你导入的jdbc了
4.在项目中Java resources下创建一个新的包linkMysql,里面新建一个类Demo
代码如下:
package linkMysql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Demo {
// 加载数据库驱动 com.mysql.jdbc.Driver
private static String dbdriver = "com.mysql.cj.jdbc.Driver"; //因为MySQL是8.0版本,所以需要加上cj,如果是5.0版本就不用
// 获取mysql连接地址
private static String dburl = "jdbc:mysql://127.0.0.1:3306/cmxDatabaseName?&useSSL=false&serverTimezone=UTC";
//这里的&serverTimezone=UTC很重要,之前就是因为这个出错
// 数据名称
private static String username = "root";
// 数据库密码
private static String userpassword = "123456";
// 获取一个数据的连接
public static Connection conn = null;
// 获取连接的一个状态
//下面是一个例子,其中database1是数据库名,后面是一条查询语句
public static void main(String[] args) throws SQLException {
List<List<Object>> x = getData("database1",
"select * from students");
System.out.println(x);
}
/**
* 获取数据库连接
*
* @param myProjName
* @return
*/
private static Connection getConn(String myProjName) {
Connection conn = null;
try {
Class.forName(dbdriver);
String myjdbcUrl = dburl.replace("cmxDatabaseName", myProjName);
conn = DriverManager.getConnection(myjdbcUrl, username, userpassword);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 关闭数据库连接
*
* @param rs
* @param ps
* @param conn
*/
private static void closeAll(ResultSet rs, PreparedStatement ps,
Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn == null)
return;
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 查表,返回行的列表,每个列表中包含列的列表。
*
* @param ProjName
* @param sql
* @return
*/
public static List<List<Object>> getData(String ProjName, String sql) {
Connection conn = getConn(ProjName);
PreparedStatement ps = null;
List<List<Object>> list = new ArrayList<List<Object>>();
ResultSet rs = null;
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
List<Object> lst = new ArrayList<Object>();
for (int i = 1; i <= columnCount; ++i) {
lst.add(rs.getObject(i) == null ? "" : rs.getObject(i));
}
list.add(lst);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeAll(rs, ps, conn);
}
return list;
}
}
5.将该类以Java application运行,就可以在控制台看见students表中的全部信息
来源:https://blog.csdn.net/qq_45033319/article/details/115864508
标签:eclipse,连接,mysql,数据库
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Oracle如何获取数据库系统的当前时间
2024-01-21 22:20:55
基于Python __dict__与dir()的区别详解
2021-04-23 15:00:34
SQL2005 高效分页sql语句
2024-01-17 13:23:22
破解空间实现域名绑定到子目录方法
2010-03-14 11:29:00
mysql重装后出现乱码设置为utf8可解决
2024-01-27 04:39:35
Golang学习笔记之延迟函数(defer)的使用小结
2024-02-03 07:56:04
Linux下彻底删除Mysql 8.0服务的方法
2024-01-14 06:38:04
![](https://img.aspxhome.com/file/2023/6/103386_0s.png)
JavaScript实现时钟滴答声效果
2024-04-16 10:38:19
![](https://img.aspxhome.com/file/2023/4/136574_0s.png)
基于Vue3实现印章徽章组件的示例代码
2023-07-02 16:54:28
![](https://img.aspxhome.com/file/2023/4/139814_0s.png)
Python读取图片为16进制表示简单代码
2021-07-24 09:34:15
![](https://img.aspxhome.com/file/2023/1/71381_0s.png)
Python快速生成随机密码超简单实现
2022-08-07 19:26:09
![](https://img.aspxhome.com/file/2023/3/77923_0s.png)
vscode使用chatGPT 的方法
2022-10-10 15:55:38
![](https://img.aspxhome.com/file/2023/8/104958_0s.png)
Python+Tkinter制作猜灯谜小游戏
2021-09-24 19:43:17
![](https://img.aspxhome.com/file/2023/7/66887_0s.gif)
使用Python实现批量ping操作方法
2021-04-06 02:55:34
Python函数值传递引用传递及形式参数和实际参数的区别
2022-06-23 13:07:51
Python自动化构建工具scons使用入门笔记
2023-09-21 19:58:16
![](https://img.aspxhome.com/file/2023/8/134748_0s.png)
Python生成器(Generator)详解
2022-10-05 01:14:43
MySQL Order By用法
2011-01-04 19:50:00
SQL Server误区30日谈 第5天 AWE在64位SQL SERVER中必须开启
2024-01-17 15:25:36
python 读取yaml文件的两种方法(在unittest中使用)
2021-04-20 17:38:30