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

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

码农世界 2024-05-12 前端 68 次浏览 0个评论
 本文作为个人学习笔记

一、Maven依赖


   mysql
   mysql-connector-java
   8.0.28

此处使用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类型数据,需要进行类型转换

转载请注明来自码农世界,本文标题:《关于JAVA Maven项目连接mysql数据库》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,68人围观)参与讨论

还没有评论,来说两句吧...

Top