教你用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 27 MySQL
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
May 06 MySQL
MySQL时间盲注的五种延时方法实现
May 18 MySQL
MySQL8.0无法启动3534的解决方法
Jun 03 MySQL
mysql外连接与内连接查询的不同之处
Jun 03 MySQL
mysql中整数数据类型tinyint详解
Dec 06 MySQL
MySQL高级进阶sql语句总结大全
Mar 16 MySQL
mysql insert 存在即不插入语法说明
Mar 25 MySQL
Mysql索引失效 数据库表中有索引还是查询很慢
May 15 MySQL
jdbc中自带MySQL 连接池实践示例
Jul 23 MySQL
MySql按时,天,周,月进行数据统计
Aug 14 MySQL
了解MySQL查询语句执行过程(5大组件)
Aug 14 MySQL
MySQL 慢查询日志深入理解
MySQL root密码的重置方法
MySQL性能压力基准测试工具sysbench的使用简介
Apr 21 #MySQL
Mysql MVCC机制原理详解
详解MySQL 用户权限管理
mysql死锁和分库分表问题详解
Apr 16 #MySQL
MySQL命令行操作时的编码问题详解
You might like
DOTA2 1月28日更新:监管系统降临刀塔世界
2021/01/28 DOTA
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
2015/12/29 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
js简单实现Select互换数据的方法
2015/08/17 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
jquery submit()不能提交表单的解决方法
2017/04/24 jQuery
Angularjs按需查询实例代码
2017/10/30 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
python字符串替换示例
2014/04/24 Python
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
python 堆和优先队列的使用详解
2019/03/05 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
python读取指定字节长度的文本方法
2019/08/27 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
自我鉴定注意事项
2014/01/19 职场文书
2014年冬季防火方案
2014/05/21 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
python实现简易名片管理系统
2021/04/11 Python