教你用eclipse连接mysql数据库


Posted in MySQL onApril 22, 2021

前言

由于总是出错,记录一下连接MySQL数据库的过程。

连接过程

1.下载MySQL并安装,这里的版本是8.0.18

2.下载MySQL的jdbc,下载后解压,个人将其保存在MySQL目录下,方便查找

教你用eclipse连接mysql数据库
教你用eclipse连接mysql数据库
教你用eclipse连接mysql数据库

3.连接数据库

(1)eclipse中选择Window-preferences-java-Build Path-User Libraries

教你用eclipse连接mysql数据库

(2)点击右侧的new按钮,

教你用eclipse连接mysql数据库

(3)在这里输入jdbc,选中对勾,点击ok

教你用eclipse连接mysql数据库

(4)回到上一级界面,点击Add External JARs,打开到你的jdbc存放的目录,打开-ok。

教你用eclipse连接mysql数据库

(5)接下来是在项目中导入jar包,项目右键-Build Path-Configure Build Path

教你用eclipse连接mysql数据库

(6)点击右侧Add Library… -User Library-Next。打上对勾点击finish

教你用eclipse连接mysql数据库

(7)回到上一级界面就可以看到你添加的jdbc,点击Apply再点击ok。

教你用eclipse连接mysql数据库

(8)这样在你的项目下就可以看到你导入的jdbc了

教你用eclipse连接mysql数据库

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表中的全部信息

教你用eclipse连接mysql数据库

到此这篇关于教你用eclipse连接mysql数据库的文章就介绍到这了,更多相关eclipse连接mysql数据库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
详解MySQL InnoDB存储引擎的内存管理
Apr 08 MySQL
MySQL 自定义变量的概念及特点
May 13 MySQL
Mysql效率优化定位较低sql的两种方式
May 26 MySQL
MySQL通过binlog恢复数据
May 27 MySQL
Mysql中一千万条数据怎么快速查询
Dec 06 MySQL
MySQL分区路径子分区再分区
Apr 13 MySQL
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
Apr 18 MySQL
Windows 64位 安装 mysql 8.0.28 图文教程
Apr 19 MySQL
使用Mysql计算地址的经纬度距离和实时位置信息
Apr 29 MySQL
详细介绍MySQL中limit和offset的用法
May 06 MySQL
MySQL 计算连续登录天数
May 11 MySQL
MySQL池化框架学习接池自定义
Jul 23 MySQL
MySQL 慢查询日志深入理解
MySQL root密码的重置方法
MySQL性能压力基准测试工具sysbench的使用简介
Apr 21 #MySQL
Mysql MVCC机制原理详解
详解MySQL 用户权限管理
mysql死锁和分库分表问题详解
Apr 16 #MySQL
MySQL命令行操作时的编码问题详解
You might like
PHP以指定字段为索引返回数据库所取的数据数组
2013/06/30 PHP
php微信支付之APP支付方法
2015/03/04 PHP
php实现构建排除当前元素的乘积数组方法
2018/10/06 PHP
php+redis实现消息队列功能示例
2019/09/19 PHP
几个高效,简洁的字符处理函数
2007/04/12 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
JS实现图片垂直居中显示小结
2016/12/13 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
[51:17]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第二场 10月30日
2020/10/31 DOTA
Python下线程之间的共享和释放示例
2015/05/04 Python
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
python3注册全局热键的实现
2020/03/22 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
python 制作本地应用搜索工具
2021/02/27 Python
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
草莓网官网:StrawberryNET
2019/08/21 全球购物
光声世纪笔试题目
2012/08/25 面试题
法学个人求职信范文
2014/01/27 职场文书
面试后的英文感谢信
2014/02/01 职场文书
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
大学军训感言400字
2014/03/11 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
2014年社团工作总结范文
2014/11/27 职场文书
2015年学校保卫部工作总结
2015/05/11 职场文书
深入理解Vue的数据响应式
2021/05/15 Vue.js
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers