教你用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 MVCC机制原理详解
Apr 20 MySQL
详解MySQL的半同步
Apr 22 MySQL
MySQL 角色(role)功能介绍
Apr 24 MySQL
MySQL注入基础练习
May 30 MySQL
MySQL 使用索引扫描进行排序
Jun 20 MySQL
MySQL令人大跌眼镜的隐式转换
Aug 23 MySQL
MySQL中的隐藏列的具体查看
Sep 04 MySQL
浅谈MySQL函数
Oct 05 MySQL
mysql中如何用命令创建联合唯一索引
Apr 20 MySQL
mysql幻读详解实例以及解决办法
Jun 16 MySQL
mysql查看表结构的三种方法总结
Jul 07 MySQL
MySQL 慢查询日志深入理解
MySQL root密码的重置方法
MySQL性能压力基准测试工具sysbench的使用简介
Apr 21 #MySQL
Mysql MVCC机制原理详解
详解MySQL 用户权限管理
mysql死锁和分库分表问题详解
Apr 16 #MySQL
MySQL命令行操作时的编码问题详解
You might like
PHP中的闭包(匿名函数)浅析
2015/02/07 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
发现的以前不知道的函数
2006/09/19 Javascript
JavaScript的面向对象(一)
2006/11/09 Javascript
javascript优先加载笔记代码
2008/09/30 Javascript
Prototype Function对象 学习
2009/07/12 Javascript
jQuery 创建Dom元素
2010/05/07 Javascript
将string解析为json的几种方式小结
2010/11/11 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
jquery实现图片预加载
2015/12/25 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
全面解析JavaScript中“&amp;&amp;”和“||”操作符(总结篇)
2016/07/18 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
关于vue中的ajax请求和axios包问题
2018/04/19 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
Vue项目中Api的组织和返回数据处理的操作
2019/11/04 Javascript
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
python中list循环语句用法实例
2014/11/10 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
Python 远程开关机的方法
2020/11/18 Python
CSS3 3D旋转rotate效果实例介绍
2016/05/03 HTML / CSS
美国创意礼品网站:UncommonGoods
2017/02/03 全球购物
银行会计财务工作个人的自我评价
2013/10/29 职场文书
建议书的格式及范文
2015/09/14 职场文书
五年级语文教学反思
2016/03/03 职场文书
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python