小工具知识网

当前位置: 首页 > 行业知识 > 关于JAVA Maven项目连接mysql数据库

行业知识

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

2026-11-01 19:36:48 来源:互联网转载
 本文作为个人学习笔记

一、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类型数据,需要进行类型转换

上一篇:Jessibuca 插件播放直播流视频

下一篇:全屏展示日历,轻松操作指南!