教你用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学习总结-基础架构概述
Apr 05 MySQL
MySQL索引篇之千万级数据实战测试
Apr 05 MySQL
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
May 06 MySQL
MySQL kill不掉线程的原因
May 07 MySQL
Mysql数据库按时间点恢复实战记录
Jun 30 MySQL
MySQL去除重叠时间求时间差和的实现
Aug 23 MySQL
mysql分表之后如何平滑上线详解
Nov 01 MySQL
mysql 联合索引生效的条件及索引失效的条件
Nov 20 MySQL
Mysql分析设计表主键为何不用uuid
Mar 31 MySQL
Nebula Graph解决风控业务实践
Mar 31 MySQL
MySQL 字符集 character
May 04 MySQL
MySQL导致索引失效的几种情况
Jun 25 MySQL
MySQL 慢查询日志深入理解
MySQL root密码的重置方法
MySQL性能压力基准测试工具sysbench的使用简介
Apr 21 #MySQL
Mysql MVCC机制原理详解
详解MySQL 用户权限管理
mysql死锁和分库分表问题详解
Apr 16 #MySQL
MySQL命令行操作时的编码问题详解
You might like
56.com视频采集接口程序(PHP)
2007/09/22 PHP
PHP 金额数字转换成英文
2010/05/06 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
js怎么终止程序return不行换jfslk
2013/05/30 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
英国假发网站:Hothair
2018/02/23 全球购物
荷兰包包购物网站:The Little Green Bag
2018/03/17 全球购物
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
解释一下钝化(Swap out)
2016/12/26 面试题
大学毕业生通用自我评价
2014/01/05 职场文书
女性健康知识讲座通知
2015/04/23 职场文书
通知格式
2015/04/27 职场文书
合同纠纷调解书
2015/05/20 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
实施意见格式范本
2015/06/05 职场文书
生活委员竞选稿
2015/11/21 职场文书
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android
Python制作一个随机抽奖小工具的实现
2021/07/07 Python