教你用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 相关文章推荐
多表查询、事务、DCL
Apr 05 MySQL
MySQL之DML语言
Apr 05 MySQL
MySQL数据库压缩版本安装与配置详细教程
May 21 MySQL
MySQL系列之开篇 MySQL关系型数据库基础概念
Jul 02 MySQL
SQL实现LeetCode(196.删除重复邮箱)
Aug 07 MySQL
SQL优化老出错,那是你没弄明白MySQL解释计划用法
Nov 27 MySQL
深入讲解数据库中Decimal类型的使用以及实现方法
Feb 15 MySQL
MySQL学习之基础操作总结
Mar 19 MySQL
Mysql 8.x 创建用户以及授予权限的操作记录
Apr 18 MySQL
提高系统的吞吐量解决数据库重复写入问题
Apr 23 MySQL
MySQL中的全表扫描和索引树扫描
May 15 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/04/26 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
PHP SPL标准库中的常用函数介绍
2015/05/11 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
php xhprof使用实例详解
2019/04/15 PHP
Jquery 弹出层插件实现代码
2009/10/24 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
JS实现数组按升序及降序排列的方法
2017/04/26 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
vue跨域解决方法
2017/10/15 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
python实现感知器算法(批处理)
2019/01/18 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
python实现大学人员管理系统
2019/10/25 Python
Python pandas如何向excel添加数据
2020/05/22 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
工作时间上网检讨书
2014/02/03 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
先进班集体事迹材料
2014/12/25 职场文书
2015年七一建党节演讲稿
2015/03/19 职场文书
Python 数据可视化之Bokeh详解
2021/11/02 Python