Jira连接MySQL:mysql-connector-java使用指南


首先需要到mysql官网下载jdbc连接mysql的jar包。

链接: https://downloads.mysql.com/archives/c-j/

jira连接mysql mysql连接jar包_数据库

选择 platform independent。有.tar.gz和.zip,可以根据自己的需要选择下载 !

或者用mysql install 来安装,我这里已经提前安装过了!

jira连接mysql mysql连接jar包_sql_02

1.点击add。

jira连接mysql mysql连接jar包_sql_03

2.选择mysql connectors connector/j ,对应的就是java的jar包!

jira连接mysql mysql连接jar包_jira连接mysql_04

 由于我已经安装过了,所以是灰色的,后面可以根据提示进行安装,完成之后,我们用java连接的mysql的jar包就已经安装好了!

接下来打开我们的idea,我的例子是idea的,eclipse也是同理,基本都是差不多的!

我新建了一个myqltest项目来配置所需要的环境并用来测试!

jira连接mysql mysql连接jar包_数据库_05

 点击文件,选择项目结构,点击模块,选择依赖,点击左上角的+号,选择jar或目录,这个目录就需要添加我们下载的jar目录,如果是在官网下载的需要解压那个压缩文件,找到其中的jar文件!

jira连接mysql mysql连接jar包_sql_06

 我的jar是在mysql install 安装的,所以我找到它的位置,并选择jar文件即可!

jira连接mysql mysql连接jar包_java_07

最后再打上勾勾,应用即可!

jira连接mysql mysql连接jar包_数据库_08

 点开外部库,看到出去java17之外我们下载的jar就配置好了!(我的jdk是17的,你们的可能会不一样,但是影响不大)。

jira连接mysql mysql连接jar包_jira连接mysql_09

 然后我们一次创建java包,java文件,开始测试连接自己的mysql数据库!

jira连接mysql mysql连接jar包_数据库_10

package cn.edu.cqie;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * @author 李思琪
 */
public class MsqlTest {
    public static void main(String[] args) {
        //127.0.0.1和localhost是等效的,都是连接本地mysql
        //String url = "jdbc:mysql://127.0.0.1:3306/mydatabase?";//指定连接数据库mydatabase
        //不指定数据库直接连接,后面需要调用use语句或create语句创建数据后use数据库
        String url = "jdbc:mysql://localhost:3306/?";
        //设置自己的用户名和密码
        String username = "root";
        String password = "qq2865642661";
        try {
            // 1.加载驱动
            // mysql8.0以上
            Class.forName("com.mysql.cj.jdbc.Driver");
            // mysql8.0以下
            //Class.forName("com.mysql.jdbc.Driver");
            // 2.开始连接
            Connection connection = DriverManager.getConnection(url, username, password);
            // 3.创建执行sql语句对象
            Statement statement = connection.createStatement();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.

 写入以上代码,这样基本框架就好了,接下来就是操作数据库了。

其中有关jdbc的url相关可以查看(感谢):

我们需要打开一个数据库可视化工具来验证我们的代码是否执行成功,我这里用的是sqlyog,其它的同理,可以看到,我这里并没有提前创建数据库,我们将通过jdbc来实现它!

jira连接mysql mysql连接jar包_java_11

接下来我们将创建一个数据库company,一个表employees,

写入一些数据并读取出来打印到控制台。

这是建表建库的sql语句:

DROP DATABASE IF EXISTS company;
create database company;
use company;

CREATE TABLE `employees` (
  `eno` char(3) NOT NULL COMMENT '雇员号',
  `ename` varchar(20) DEFAULT NULL COMMENT '姓名',
  `eage` int DEFAULT NULL COMMENT '年龄',
  `eaddress` varchar(20) DEFAULT NULL COMMENT '地址',
  `esalary` int DEFAULT NULL COMMENT '薪水',
  PRIMARY KEY (`eno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

insert  into `employees`(`eno`,`ename`,`eage`,`eaddress`,`esalary`) values 
('E01','tom',35,'海淀',8000),
('E02','dennis',24,'朝阳',5000),
('E03','john',20,'海淀',4000),
('E04','rick',41,'朝阳',7000),
('E05','bill',45,'西城',7500),
('E06','frank',35,'海淀',6000),
('E07','jank',25,'东城',3000),
('E08','mike',23,'东城',3500);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

下面是java代码:

package cn.edu.cqie;

import java.sql.*;

/**
 * @author 李思琪
 */
public class MsqlTest {
    public static void main(String[] args) {
        //127.0.0.1和localhost是等效的,都是连接本地mysql
        //String url = "jdbc:mysql://127.0.0.1:3306/mydatabase?";//指定连接数据库mydatabase
        //不指定数据库直接连接,后面需要调用use语句或create语句创建数据后use数据库
        String url = "jdbc:mysql://localhost:3306/?";
        //设置自己的用户名和密码
        String username = "root";
        String password = "qq2865642661";
        try {
            // 1.加载驱动
            // mysql8.0以上
            Class.forName("com.mysql.cj.jdbc.Driver");
            // mysql8.0以下
            //Class.forName("com.mysql.jdbc.Driver");
            // 2.开始连接
            Connection connection = DriverManager.getConnection(url, username, password);
            // 3.创建执行sql语句对象
            Statement statement = connection.createStatement();
            // 4.创建数据库company
            // sql语句就和在可视化工具或者命令行的一样,分号是必不可少的哦
            StringBuilder sql = new StringBuilder("drop database if exists company;");
            statement.execute(sql.toString());
            sql.setLength(0);
            sql.append("create database company;");
            statement.execute(sql.toString());
            sql.setLength(0);
            // 5.使用数据局company
            statement.execute("use company;");
            // 6.创建表employees
            sql.append("""
                    CREATE TABLE `employees` (
                      `eno` char(3) NOT NULL COMMENT '雇员号',
                      `ename` varchar(20) DEFAULT NULL COMMENT '姓名',
                      `eage` int DEFAULT NULL COMMENT '年龄',
                      `eaddress` varchar(20) DEFAULT NULL COMMENT '地址',
                      `esalary` int DEFAULT NULL COMMENT '薪水',
                      PRIMARY KEY (`eno`)
                    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;""");
            statement.executeUpdate(sql.toString());
            sql.setLength(0);
            sql.append("""
                    insert into `employees` (`eno`,`ename`,`eage`,`eaddress`,`esalary`)values
                    ('E01', 'tom', 35, '海淀', 8000),
                    ('E02', 'dennis', 24, '朝阳', 5000),
                    ('E03', 'john', 20, '海淀', 4000),
                    ('E04', 'rick', 41, '朝阳', 7000),
                    ('E05', 'bill', 45, '西城', 7500),
                    ('E06', 'frank', 35, '海淀', 6000),
                    ('E07', 'jank', 25, '东城', 3000),
                    ('E08', 'mike', 23, '东城', 3500);""");
            statement.executeUpdate(sql.toString());
            sql.setLength(0);
            // 7.查询数据并打印
            sql.append("select * from employees;");
            ResultSet resultSet = statement.executeQuery(sql.toString());
            // 展开结果集数据库
            while (resultSet.next()) {
                // 通过字段检索
                String eno = resultSet.getString("eno");
                String ename = resultSet.getString("ename");
                int eage = resultSet.getInt("eage");
                String eaddress = resultSet.getString("eaddress");
                int esalary = resultSet.getInt("esalary");
                // 输出数据
                System.out.printf("eno: %-10s", eno);
                System.out.printf("ename: %-10s", ename);
                System.out.printf("eage: %-10d", eage);
                System.out.printf("eaddress: %-10s", eaddress);
                System.out.printf("esalary: %-10d", esalary);
                System.out.println();
            }
            // 8.释放连接
            resultSet.close();
            statement.close();
            connection.close();
        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.

测试结果:

sqlyog:

        可以看到数据库成功创建,数据也写入了进去。

jira连接mysql mysql连接jar包_mysql_12

 idea:

       打印的数据是正确的,说明我们也成功读取到了写入数据库的数据。

jira连接mysql mysql连接jar包_mysql_13

其中用到的Statement.execute,Statement.executeUpdate,Statement.executeQuery的区别是:

一般语句用Statement.execute,入创建数据库,use语句等,

Statement.executeUpdate用于修改表的结构和数据,update语句,alter语句等,

Statement.executeQuery用于查询语句,如select等。

其中Statement.execute,Statement.executeUpdate的返回值基本可以忽略,它们所返回的数据基本就是一些用于判断是否正确执行了sql语句,而Statement.executeQuery需要一个ResultSet对象来结束它的返回值,它的返回值是反正的sql语句查询的数据,其成员方法用的比较多的就是getInt,getString等,都是一些mysql支持的数据类型。

        对应关系可以看下面这篇博客哦(感谢):

^v9^pc_search_result_cache,157^v4^control&utm_term=mysql%E5%92%8Cjava%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B&spm=1018.2226.3001.4187

        如果代码运行有错误之类的,可以看下有没有打开mysql server 哦!

总结:

        基本就是这样了,第一次写博客,有问题可以一起在评论区交流哦,有错误也请大佬指出呀!

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空