关于JAVA Maven项目连接mysql数据库

本文介绍了如何在Java中使用Maven管理MySQL的JDBC依赖,详细讲解了建立数据库连接、创建Statement对象执行SQL语句(有结果和无结果)、以及处理ResultSet的方法。
摘要由CSDN通过智能技术生成
 本文作为个人学习笔记

一、Maven依赖

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>8.0.28</version>
</dependency>

此处使用8.0.28版本,关于mysql更多依赖版本查阅:https://mvnrepository.com/artifact/com.mysql/mysql-connector-j

 二、代码总览

import java.sql.*;

public class ToolMySQL {
    private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";                                                  //驱动器
    private static String PORT;                                                                                         //端口号
    private static String HOSTNAME;                                                                                     //地址
    private static String DATABASE = String.valueOf(' ');                                                            //数据库名称
    private static String USER;                                                                                         //用户名
    private static String PASS;                                                                                         //密码
    private static Connection connection = null;
    private static Statement statement = null;
    public static void StartMySQL(){
        final String DB_URL = "jdbc:mysql://" + HOSTNAME + ":" + PORT + "/" + DATABASE;
        try {
            Class.forName(JDBC_DRIVER);                                                                                 //加载JDBC驱动程序
            connection = DriverManager.getConnection(DB_URL,USER,PASS);                                                 //建立数据库连接
            statement = connection.createStatement();                                                                   //实例化Statement对象,执行sql语句
        } catch (ClassNotFoundException e) {
            throw new RuntimeException("无法加载驱动程序",e);
        } catch (SQLException e) {
            throw new RuntimeException("无法连接到数据库",e);
        }
    }                                                                                                                   //建立数据库连接
    public static void EndMySQL(){
        try {
            if (ToolMySQL.statement != null) {
                ToolMySQL.statement.close();
            }
        } catch (SQLException e) {
            throw new RuntimeException("关闭Statement失败",e);
        }
        try {
            if (ToolMySQL.connection != null) {
                ToolMySQL.connection.close();
            }
        } catch (SQLException e) {
            throw new RuntimeException("关闭connection失败",e);
        }
    }                                                                                                                   //关闭数据库连接
    public static Boolean ExecuteSQLNotResult(String sql){
        try {
            return statement.execute(sql);                                                                              //执行sql语句(返回是否成功)
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }                                                                                                                   //执行无结果的sql语句(建表)
    public static ResultSet ExecuteSQLWithResult(String sql){
        try {
            return statement.executeQuery(sql);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }                                                                                                                   //执行有结果的sql语句(查询)
    public static void setPASS(String pass) {
        PASS = pass;
    }
    public static void setUSER(String user) {
        USER = user;
    }
    public static void setDATABASE(String database) {
        DATABASE = database;
    }
    public static void setHOSTNAME(String hostname) {
        HOSTNAME = hostname;
    }
    public static void setPORT(String port) {
        PORT = port;
    }
    public static void setAll(String port,String hostname,String database,String user,String pass){
        ToolMySQL.PORT = port;
        ToolMySQL.HOSTNAME = hostname;
        ToolMySQL.DATABASE = database;
        ToolMySQL.USER = user;
        ToolMySQL.PASS = pass;
    }
}

 三、部分详解

1、指定驱动器

private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";                                                  //驱动器

本部分指定jdbc驱动器类名,使用Class.forName()以加载数据库驱动程序

2、指定数据库

final String DB_URL = "jdbc:mysql://" + HOSTNAME + ":" + PORT + "/" + DATABASE;

本部分指定所需数据库的url链接,(注:在测试过程中,DATABASE需默认为' '),所需变量

HOSTNAME:服务器地址(本地为localhost)

PORT:端口号(mysql数据库默认为3306)

DATABASE:数据库(所需建立连接的数据库名称)

此处认为一般而言数据库的连接不会中途修改url连接,定义为常量

3、创建与数据库连接

connection = DriverManager.getConnection(DB_URL,USER,PASS);                                                 //建立数据库连接

本部分通过jdbc的DriverManager类,使用getConnection方法连接数据库,连接过程中需要给出所需连接的数据库,用户名和密码。

4、创建执行对象

statement = connection.createStatement();                                                                   //创建Statement对象,执行sql语句

本部分在创建数据库连接后创建statement对象以执行sql语句

5、执行sql语句(有结果、无结果)

statement.execute(sql);
statement.executeQuery(sql)

sql语句分为两种,有结果(select),无结果(insert,updata),对于无结果的sql语句则使用.execute方法,对于有结果的sql语句使用executeQuery方法,该方法返回一个ResultSet类型结果集

6、获取结果数据

对于该结果集,需要获取其中数据:

.next()方法,resultset类似于c语言的指针,该方法用于将resultedet移至下一行并返回该语句的执行结果(Boolean)

.getxxx()方法,如.getInt(),该方法用于获取resultset当前所在行的特定数据类型的数据

.getObject()方法,该方法可传入Int或String类型数据,用于确定所需列,返回object类型数据,需要进行类型转换

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值