教你用eclipse连接mysql数据库
作者:低端程序媛 发布时间:2024-01-19 23:30:41
标签:eclipse,连接,mysql,数据库
前言
由于总是出错,记录一下连接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


猜你喜欢
- 一、需求1.获取你对象chrome前一天的浏览记录中的所有网址(url)和访问时间,并存在一个txt文件中2.将这个txt文件发送给指定的邮
- 主要内容一.网络存储是什么?二.iSCSI是什么?三.RDMA是什么?四.NVME-oF是什么?一.网络存储是什么?网络存储是一种将存储资源
- 开发环境安装最新版Python下载地址:https://www.python.org/downloads/运行Python1.交互方式运行用
- 1分钟快速生成用于网页内容提取的xslt,具体内容如下1、项目背景在《Python即时网络爬虫项目说明》一文我们说过要做一个通用的网络爬虫,
- 前言Python 字典 update()方法用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中。语法格式d.
- 本文实例讲述了PHP+Ajax实现无刷新分页的方法。分享给大家供大家参考,具体如下:注:这里使用到的一些类库在前面文章都能找到源代码,因此为
- 本文记录django中如何使用celery完成异步任务。Celery 是一个简单、灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一
- 在IE比较简单,大家都知道用setHomePage来设置,懒人写法:<a href="#setHomePage"
- 我们首先来看下实例代码:function sig_handler($sig){ print("handled sig:
- 前言最近用 Vue 写项目的时候,用到 axios ,因为 axios 不能用 Vue.use() (详细介绍可以参考这篇文章),所以在每个
- 最近拾回Django学习,实例练习中遇到了对多维字典类型数据的遍历操作问题,Google查询没有相关资料…毕竟是新手,到自己动手时发现并非想
- 前言针对使用MySQL的索引,我们之前介绍过索引的最左前缀规则,索引覆盖,唯一索引和普通索引的使用以及优化器选择索引等概念,今天我们讨论下如
- 反射在Python中,能够通过一个对象,找出type、class、attribute或者method的能力,成为反射。函数与方法内建函数:g
- 0x00 识别涉及技术验证码识别涉及很多方面的内容。入手难度大,但是入手后,可拓展性又非常广泛,可玩性极强,成就感也很足。验证码图像处理验证
- 通过phpmyadmin连接mysql数据库时提示:“2003 无法登录 MySQL服务器”。。。很明显这是没有启动mysql服务,右击我的
- 在上一篇文章中,简单介绍了下闭包(closure)和原型链,现在继续来研究闭包的内部机制。对了,所有的东西都参考自这篇文章:Javascri
- 1、最优化与线性规划最优化问题的三要素是决策变量、目标函数和约束条件。线性规划(Linear programming),是研究线性约束条件下
- 本文实例为大家分享了Vue+ Antv F2实现层叠柱状图的具体代码,供大家参考,具体内容如下一、 创建canvas标签<canvas
- SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL。其中用于定义数据的结构,比如 创建
- MySQL 子查询子查询是将一个 SELECT 语句的查询结果作为中间结果,供另一个 SQL 语句调用。MySQL 支持 SQL 标准要求的