教你用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 常见存储引擎的优劣
Jun 02 MySQL
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
Jun 21 MySQL
mysql如何配置白名单访问
Jun 30 MySQL
MySQL 8.0 驱动与阿里druid版本兼容问题解决
Jul 01 MySQL
MySQL分区表实现按月份归类
Nov 01 MySQL
如何避免mysql启动时错误及sock文件作用分析
Jan 22 MySQL
MySQL数据库如何给表设置约束详解
Mar 13 MySQL
浅谈redis的过期时间设置和过期删除机制
Mar 18 MySQL
mysql字段为NULL索引是否会失效实例详解
May 30 MySQL
MySQL中JOIN连接的基本用法实例
Jun 05 MySQL
MySql统计函数COUNT的具体使用详解
Aug 14 MySQL
MySQL下载安装配置详细教程 附下载资源
Sep 23 MySQL
MySQL 慢查询日志深入理解
MySQL root密码的重置方法
MySQL性能压力基准测试工具sysbench的使用简介
Apr 21 #MySQL
Mysql MVCC机制原理详解
详解MySQL 用户权限管理
mysql死锁和分库分表问题详解
Apr 16 #MySQL
MySQL命令行操作时的编码问题详解
You might like
用PHP的ob_start();控制您的浏览器cache!
2006/11/25 PHP
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
纯JAVASCRIPT图表动画插件Highcharts Examples
2011/04/16 Javascript
js中reverse函数的用法详解
2013/12/26 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
JavaScript设计模式之适配器模式介绍
2014/12/28 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
JavaScript中的this使用详解
2016/07/27 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
Python使用Socket(Https)Post登录百度的实现代码
2012/05/18 Python
实例讲解python中的协程
2018/10/08 Python
python中的错误如何查看
2020/07/08 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
房地产销售大学生自我评价分享
2013/11/11 职场文书
关于赌博的检讨书
2014/01/08 职场文书
称象教学反思
2014/02/03 职场文书
购房协议书
2014/04/11 职场文书
外语专业毕业生自荐信
2014/04/14 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
结婚保证书
2015/01/16 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript