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

 本文作为个人学习笔记

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

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要使用Maven连接MySQL数据库,需要在Maven项目中添加MySQL驱动程序依赖项。可以在pom.xml文件中添加以下依赖项: ``` <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8..23</version> </dependency> ``` 然后,在Java代码中使用JDBC API连接MySQL数据库。例如: ``` import java.sql.*; public class MySQLExample { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "myuser"; String password = "mypassword"; try (Connection conn = DriverManager.getConnection(url, user, password)) { System.out.println("Connected to MySQL database!"); } catch (SQLException e) { System.err.println("Failed to connect to MySQL database: " + e.getMessage()); } } } ``` 在上面的代码中,url是MySQL数据库连接字符串,user和password是连接数据库所需的用户名和密码。在try-with-resources语句中,使用DriverManager.getConnection()方法连接MySQL数据库。如果连接成功,将输出“Connected to MySQL database!”。如果连接失败,将输出错误消息。 ### 回答2: 要在Idea Maven项目连接MySQL数据库,需要以下步骤: 1. 在project的pom.xml文件中添加MySQL驱动器依赖。 ``` <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql-version}</version> </dependency> ``` 2. 在src/main/resources目录下创建一个名为application.properties的文件。在此文件中配置数据库连接信息,如下所示: ``` spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/yourdatabase spring.datasource.username=yourusername spring.datasource.password=yourpassword ``` 其中,yourdatabase是你要连接MySQL数据库名称,yourusername和yourpassword是连接数据库的用户名和密码,对于localhost、3306等参数根据自己的实际情况做出相应的修改。 3. 在Maven中添加spring-boot-starter-jdbc和spring-boot-starter-data-jpa依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> ``` 4. 在Idea中创建一个Entity类,表示数据库表中的一行数据: ``` @Entity @Table(name = "yourtable") public class YourEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Integer age; // 省略getter、setter方法 } ``` 其中,yourtable表示需要操作的数据库表名。 5. 创建一个Repository类,用于操作数据库表: ``` @Repository public interface YourRepository extends JpaRepository<YourEntity, Long> { } ``` 通过继承JpaRepository,我们可以很方便地对数据库表进行CRUD操作。 6. 在Idea中创建一个Controller类,用于处理HTTP请求: ``` @RestController public class YourController { @Autowired private YourRepository yourRepository; @GetMapping("/yourpath") public List<YourEntity> getAll() { return yourRepository.findAll(); } } ``` 其中,yourpath是你希望在浏览器中访问的路径,通过调用YourRepository中的方法来返回数据库表中的数据。 7. 启动项目,在浏览器中访问http://localhost:8080/yourpath,即可看到MySQL数据库中的数据。 以上就是在Idea Maven项目连接MySQL数据库的详细步骤。 ### 回答3: Idea Maven 是一种非常方便的工具,可以用于管理 Java 项目的依赖和构建过程,而连接 MySQL 数据库Java Web 开发中非常重要的一环。下面我们详细介绍如何使用 Idea Maven 连接 MySQL 数据库。 1. 下载 MySQL JDBC 驱动 要使用 Java 连接 MySQL,需要先下载 MySQL JDBC 驱动。可以访问 MySQL 官网下载最新版本的 JDBC 驱动,或者从 Maven 中央仓库中获取: ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> ``` 2. 在项目中添加 MySQL JDBC 驱动依赖 在使用 MavenJava 项目中,需要在 pom.xml 文件中添加 MySQL JDBC 驱动的依赖。具体方法是,在 dependencies 标签下添加以下代码: ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> ``` 3. 编写 MySQL 数据库连接相关代码 在 Java 代码中编写连接数据库相关的代码,可以参考以下的示例: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DbUtil { // MySQL 数据库的 JDBC 驱动名和连接地址 static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/test_db?&serverTimezone=UTC"; // MySQL 数据库的用户名和密码 static final String USER = "root"; static final String PASS = "123456"; static Connection conn = null; // 获得数据库连接 public static Connection getConnection() { try { // 注册 JDBC 驱动 Class.forName(JDBC_DRIVER); // 打开连接 conn = DriverManager.getConnection(DB_URL, USER, PASS); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } return conn; } // 关闭数据库连接 public static void closeConnection(Connection conn) { try { if(conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } ``` 4. 测试连接数据库 在编写完连接数据库相关代码后,可以在 Java 代码中进行测试。具体方法是创建一个测试用例,在其中调用 DbUtil 中的 getConnection() 方法进行连接,并通过控制台输出连接状态信息。 ```java import java.sql.Connection; public class TestMain { public static void main(String[] args) { // 测试数据库连接 Connection conn = DbUtil.getConnection(); if(conn == null) { System.out.println("连接失败"); } else { System.out.println("连接成功"); } DbUtil.closeConnection(conn); } } ``` 以上就是使用 Idea Maven 连接 MySQL 数据库的相关方法。实际操作中,还需要按照具体项目的需求进行适当的调整。需要注意的是,为了保证代码的安全性,在实际项目中通常还需要使用连接池等更高级的连接方式来进行数据库操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值