教你用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 pt-slave-restart工具的使用简介
Apr 07 MySQL
MySQL 使用自定义变量进行查询优化
May 14 MySQL
超详细教你怎么升级Mysql的版本
May 19 MySQL
MySQL下使用Inplace和Online方式创建索引的教程
May 26 MySQL
浅谈mysql返回Boolean类型的几种情况
Jun 04 MySQL
MySQL GRANT用户授权的实现
Jun 18 MySQL
MySQL系列之开篇 MySQL关系型数据库基础概念
Jul 02 MySQL
MySQL千万级数据表的优化实战记录
Aug 04 MySQL
Mysql binlog日志文件过大的解决
Oct 05 MySQL
利用JuiceFS使MySQL 备份验证性能提升 10 倍
Mar 17 MySQL
jdbc中自带MySQL 连接池实践示例
Jul 23 MySQL
mysql通过group by分组取最大时间对应数据的两种有效方法
Sep 23 MySQL
MySQL 慢查询日志深入理解
MySQL root密码的重置方法
MySQL性能压力基准测试工具sysbench的使用简介
Apr 21 #MySQL
Mysql MVCC机制原理详解
详解MySQL 用户权限管理
mysql死锁和分库分表问题详解
Apr 16 #MySQL
MySQL命令行操作时的编码问题详解
You might like
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
2015/01/09 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
PHP封装的分页类与简单用法示例
2019/02/25 PHP
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
JavaScript基础语法、dom操作树及document对象
2014/12/02 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
javascript中关于&amp;&amp; 和 || 表达式的小技巧分享
2015/04/10 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
从0开始学Vue
2016/10/27 Javascript
微信小程序 支付简单实例及注意事项
2017/01/06 Javascript
JavaScript ES6中const、let与var的对比详解
2017/06/18 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
JavaScript中的惰性载入函数及优势
2020/02/18 Javascript
Js利用正则表达式去除字符串的中括号
2020/11/23 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
Python 判断图像是否读取成功的方法
2019/01/26 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
python实现信号时域统计特征提取代码
2020/02/26 Python
Python接口测试get请求过程详解
2020/02/28 Python
白酒市场营销方案
2014/02/25 职场文书
企业标语大全
2014/07/01 职场文书
2014年转正工作总结
2014/11/08 职场文书
单位婚育证明范本
2014/11/21 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
JUnit5常用注解的使用
2021/07/02 Java/Android
SpringBoot Http远程调用的方法
2022/08/14 Java/Android