本文作为个人学习笔记
一、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当前所在行的特定数据类型的数据文章来源:https://www.toymoban.com/news/detail-848686.html
.getObject()方法,该方法可传入Int或String类型数据,用于确定所需列,返回object类型数据,需要进行类型转换文章来源地址https://www.toymoban.com/news/detail-848686.html
到了这里,关于关于JAVA Maven项目连接mysql数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!