您的位置:

Java连接MySQL数据库教程

MySQL作为一款开源免费的关系型数据库,在互联网行业有着广泛的应用,其中Java是较为流行的编程语言之一,本文将从多个方面详细阐述如何使用Java连接MySQL数据库。

一、添加MySQL JDBC驱动包

在使用Java连接MySQL之前,需要先添加MySQL JDBC驱动包,驱动包可以通过官网https://dev.mysql.com/downloads/connector/j/下载。

下载完成后,将驱动包jar文件添加到项目的classpath下,例如在Eclipse中,可以右键单击项目 -> Build Path -> Configure Build Path,然后选择Libraries选项卡,点击Add External JARs按钮选择已下载的驱动包jar文件即可。

二、创建数据库连接

Java连接MySQL的第一步,是创建数据库连接对象,可以使用JDBC的DriverManager.getConnection()方法来创建连接,需要提供数据库的URL连接字符串、用户名和密码。

以下是一个示例:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class MySqlConnection {
    private static final String URL = "jdbc:mysql://localhost:3306/test";
    private static final String USER = "root";
    private static final String PASSWORD = "root";

    public static Connection getConnection() {
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(URL, USER, PASSWORD);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
}

其中,URL是连接MySQL数据库的URL地址,格式为jdbc:mysql://主机名:端口号/数据库名,USER和PASSWORD分别为MySQL数据库的用户名和密码。

三、使用PreparedStatement执行SQL语句

Java连接MySQL的下一步,是使用PreparedStatement对象执行SQL语句,PreparedStatement可以处理动态SQL语句和预编译SQL语句,使用PreparedStatement可以更高效和安全地执行SQL语句。

以下是一个示例:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Test {
    public static void main(String[] args) {
        Connection conn = MySqlConnection.getConnection();
        String sql = "SELECT * FROM user WHERE id = ?";
        try {
            PreparedStatement pstmt = conn.prepareStatement(sql);
            pstmt.setInt(1, 1);
            ResultSet rs = pstmt.executeQuery();
            while(rs.next()){
                System.out.println(rs.getInt(1) + " " + rs.getString(2));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

以上示例中,使用PreparedStatement执行了一条预编译的SELECT语句,其中'?'是参数占位符,通过PreparedStatement的setInt()方法设置参数占位符的值,然后执行查询并输出查询结果。

四、使用ORM框架简化开发

Java连接MySQL可以使用ORM框架简化开发,ORM(Object Relational Mapping)即对象关系映射,是指将面向对象的程序中的类和属性映射到关系型数据库中的表和字段。

目前比较流行的ORM框架有Hibernate、Mybatis等,这里以Hibernate为例进行介绍。

使用Hibernate连接MySQL的步骤如下:

  1. 添加Hibernate依赖
  2. 在项目中添加Hibernate依赖,并且添加MySQL JDBC驱动依赖。

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.4.30.Final</version>
    </dependency>
    
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.26</version>
    </dependency>
    
  3. 编写Hibernate配置文件
  4. 在项目的src/main/resources目录下创建hibernate.cfg.xml文件,配置MySQL数据库连接信息和Hibernate的属性。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=Asia/Shanghai</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.connection.password">root</property>
    
            <property name="dialect">org.hibernate.dialect.MySQL8Dialect</property>
    
            <mapping class="com.example.User" />
        </session-factory>
    </hibernate-configuration>
    

    其中,hibernate.connection.url是MySQL数据库的连接URL地址,useSSL=false&serverTimezone=Asia/Shanghai用于解决时区不一致问题。

  5. 创建实体类
  6. 创建映射到MySQL数据库表的实体类,例如下面的User类:

    import javax.persistence.*;
    
    @Entity
    @Table(name = "user")
    public class User {
        @Id
        private int id;
        private String username;
        private String password;
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    }
    

    使用Hibernate连接MySQL时需要添加@Entity和@Table注解,其中@Table指定映射到的数据库表名。

  7. 使用Hibernate进行数据操作
  8. 使用Hibernate进行数据操作的步骤如下:

    1. 创建SessionFactory对象
    2. Configuration configuration = new Configuration().configure();
      ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
              .applySettings(configuration.getProperties())
              .build();
      SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
      

      其中,Configuration是Hibernate的配置类,configure()方法加载hibernate.cfg.xml配置文件中的Hibernate属性,ServiceRegistry是服务注册类,用于注册框架所需服务,StandardServiceRegistryBuilder用于创建ServiceRegistry对象,applySettings()方法加载配置对象,buildSessionFactory()方法创建SessionFactory对象。

    3. 创建Session对象
    4. Session session = sessionFactory.openSession();
      

      使用SessionFactory对象的openSession()方法创建Session对象。

    5. 使用Session对象进行数据操作
    6. Session对象提供了一些方法用于进行数据操作,例如添加实体对象:

      User user = new User();
      user.setId(1);
      user.setUsername("test");
      user.setPassword("test");
      
      Transaction tx = session.beginTransaction();
      session.save(user);
      tx.commit();
      

      以上代码用于向MySQL数据库的user表中添加一条记录。

    7. 关闭Session
    8. session.close();
      

      在结束操作后使用Session的close()方法关闭Session。

连接mysql数据库笔记1(如何连接数据库mysql)

2022-11-10
Java连接MySQL数据库教程

2023-05-11
jsp连接mysql数据库,jsp连接mysql数据库教程

2022-11-30
Java连接MySQL数据库教程

2023-05-11
Java连接MySQL数据库教程

2023-05-11
Java数据库连接,java 连接数据库

2023-01-04
jsp数据库笔记,jsp写入数据库

本文目录一览: 1、怎么用jsp连接mysql数据库 2、jsp中怎么使用数据库 3、JSP 从数据库中如何取得图片的路径? 怎么用jsp连接mysql数据库 一. 数据库的连接和操作笔记:1.初始化

2023-12-08
jsp使用java连接数据库(jsp连接数据库的方法)

本文目录一览: 1、怎么使用JAVA连接数据库? 2、怎么用jsp连接mysql数据库 3、在JSP页面中实现连接数据库与在Java程序中实现连接数据库有什么区别? 4、java 中 怎样将JSP页面

2023-12-08
jsp测试mysql连接数据库(jsp连接MySQL数据库)

2022-11-14
jsp链接数据库教程(jsp连接数据库的两种方式)

本文目录一览: 1、jsp怎么连接数据库 2、如何用JSP连接SQLServer数据库 3、jsp连接数据库方法(详细的) 4、在jsp编程中如何连接数据库 5、在jsp编程中如何连接数据库? 6、怎

2023-12-08
jdbc连接mysql数据库书,jdbc与数据库连接

2022-11-18
java学习笔记(java初学笔记)

2022-11-14
jdbc连接mysql数据库时(JDBC数据库连接)

2022-11-11
java连接数据库之mysql,连接java和数据库

2022-11-18
Java连接MySQL数据库

2023-05-11
java简单数据库视频,java数据库教程

2022-11-17
java连接,java连接mysql数据库的代码

2022-11-30
java连接mysql数据库(java连接mysql数据库u

2022-11-13
java连接mysql方法(java和mysql连接教程)

2022-11-10
使用MySQL Connector连接MySQL数据库的完整

2023-05-16