教你用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 8.0 之不可见列的基本操作
May 20 MySQL
Mysql官方性能测试工具mysqlslap的使用简介
May 21 MySQL
.Net Core导入千万级数据至Mysql的步骤
May 24 MySQL
my.ini优化mysql数据库性能的十个参数(推荐)
May 26 MySQL
SQL 聚合、分组和排序
Nov 11 MySQL
MySQL中order by的使用详情
Nov 17 MySQL
详解MySql中InnoDB存储引擎中的各种锁
Feb 12 MySQL
解决MySQL添加新用户-ERROR 1045 (28000)的问题
Mar 03 MySQL
Mysql查询时间区间日期列表,不会由于数据表数据影响
Apr 19 MySQL
MySQL 条件查询的常用操作
Apr 28 MySQL
解决Mysql中的innoDB幻读问题
Apr 29 MySQL
mysql幻读详解实例以及解决办法
Jun 16 MySQL
MySQL 慢查询日志深入理解
MySQL root密码的重置方法
MySQL性能压力基准测试工具sysbench的使用简介
Apr 21 #MySQL
Mysql MVCC机制原理详解
详解MySQL 用户权限管理
mysql死锁和分库分表问题详解
Apr 16 #MySQL
MySQL命令行操作时的编码问题详解
You might like
PHP Memcached应用实现代码
2010/02/08 PHP
深入file_get_contents与curl函数的详解
2013/06/25 PHP
PHP从二维数组得到N层分类树的实现代码
2016/10/11 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
jQuery 3.0十大新特性最终版发布
2016/07/14 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
2018/09/28 Javascript
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
Python程序设计入门(4)模块和包
2014/06/16 Python
利用Python批量生成任意尺寸的图片
2016/08/29 Python
Python将图片转换为字符画的方法
2020/06/16 Python
Django后端接收嵌套Json数据及解析详解
2019/07/17 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
Html5新特性用canvas标签画多条直线附效果截图
2014/06/30 HTML / CSS
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
中科软笔试题和面试题
2014/10/07 面试题
打架检讨书2000字
2014/02/22 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
学子宴致辞大全
2015/07/27 职场文书
五年级作文之成长
2019/09/16 职场文书