Java连接mysql数据库代码实例程序

yizhihongxing

这里提供的完整攻略将帮助大家编写Java连接mysql数据库的代码实例程序。

步骤一:下载并安装JDBC驱动程序

在使用Java连接mysql数据库之前,我们需要下载并安装mysql JDBC驱动程序。这里我们以mysql-connector-java-8.0.25.jar为例,在这个网页上下载mysql JDBC驱动程序:https://dev.mysql.com/downloads/connector/j/8.0.html

下载完成后,将mysql-connector-java-8.0.25.jar文件引入到项目中的"lib"文件夹下。

步骤二:编写Java代码连接mysql数据库

import java.sql.*;

public class JavaMysqlDemo {
    static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; //mysql驱动
    static final String DB_URL = "jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
    static final String USER = "root"; //mysql用户名
    static final String PASS = "password"; //mysql密码
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try {
            Class.forName(JDBC_DRIVER);
            conn = DriverManager.getConnection(DB_URL, USER, PASS);
            System.out.println("连接成功!");

            stmt = conn.createStatement();
            String sql = "SELECT * FROM user_info";
            ResultSet rs = stmt.executeQuery(sql);

            while(rs.next()){
               int id  = rs.getInt("id");
               String name = rs.getString("name");
               String email = rs.getString("email");
               String password = rs.getString("password");
               String country = rs.getString("country");
               System.out.println("ID:"+id+", 姓名:"+name+", Email:"+email+", 密码:"+password+", 国家:"+country);
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch(SQLException se) {
            se.printStackTrace();
        } catch(Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if(stmt!=null) stmt.close();
            } catch(SQLException se2) {
            }
            try {
                if(conn!=null) conn.close();
            } catch(SQLException se) {
                se.printStackTrace();
            }
        }
    }
}

在第6行中,我们定义了mysql驱动的名称,而在第7行定义了要连接的数据库的URL。在第8行和第9行中,我们设置了要连接的mysql用户名和密码。

在代码的第14行,我们尝试通过调用DriverManager类的getConnection()方法来建立与mysql数据库的连接。getConnection()方法接收三个参数,分别是要连接的数据库的URL、用户名和密码。

在代码的第17行,我们创建了一个Statement对象来执行SQL查询。通过调用Statement类的executeQuery()方法来执行SQL查询语句的语句,并将返回结果存储到ResultSet对象中。

在代码的第21-26行,我们使用while循环来遍历ResultSet对象中的每一项。在这里,我们只是简单地输出每个用户的ID、姓名、电子邮件、密码和国家的名称。

在代码的最后一个catch块中,我们关闭了ResultSet对象、Statement对象和Connection对象以及任何从这些对象分配的资源。

步骤三:运行Java程序

编译和运行Java代码的过程与一般的Java程序相同。从命令行中键入“javac JavaMysqlDemo.java”来编译Java代码,再键入“java JavaMysqlDemo”来运行Java代码。

示例:

import java.sql.*;

public class JavaMysqlDemo2 {
    static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; //mysql驱动
    static final String DB_URL = "jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
    static final String USER = "root"; //mysql用户名
    static final String PASS = "password"; //mysql密码
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try {
            Class.forName(JDBC_DRIVER);
            conn = DriverManager.getConnection(DB_URL, USER, PASS);
            System.out.println("连接成功!");

            //插入一条新的数据
            stmt = conn.createStatement();
            String sql = "INSERT INTO user_info(id, name, email, password, country) VALUES (5, 'Tom', 'tom@email.com', '123456', 'USA')";
            stmt.executeUpdate(sql);

            //查询所有数据
            sql = "SELECT * FROM user_info";
            ResultSet rs = stmt.executeQuery(sql);

            while(rs.next()){
               int id  = rs.getInt("id");
               String name = rs.getString("name");
               String email = rs.getString("email");
               String password = rs.getString("password");
               String country = rs.getString("country");
               System.out.println("ID:"+id+", 姓名:"+name+", Email:"+email+", 密码:"+password+", 国家:"+country);
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch(SQLException se) {
            se.printStackTrace();
        } catch(Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if(stmt!=null) stmt.close();
            } catch(SQLException se2) {
            }
            try {
                if(conn!=null) conn.close();
            } catch(SQLException se) {
                se.printStackTrace();
            }
        }
    }
}

在这个示例中,我们向之前的用户表中插入了一条新的数据,并输出了所有的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java连接mysql数据库代码实例程序 - Python技术站

(0)
上一篇 2023年6月16日
下一篇 2023年6月16日

相关文章

  • 使用jpa的实体对象转json符串时懒加载的问题及解决

    使用JPA的实体对象转JSON字符串时,懒加载的问题是指如果在实体中存在多个关联关系,当使用jpa将实体转为JSON字符串时,如果关联关系采用懒加载方式,则在序列化关联对象时,可能发生延迟加载异常,导致程序抛出错误。下面是解决该问题的攻略: 1.解决方法 1.1 使用Jackson的ObjectMapper来序列化关联对象 在JPA的实体类上使用@JsonM…

    Java 2023年5月20日
    00
  • Java Lambda表达式详解

    Java Lambda表达式详解 什么是Lambda表达式? Lambda表达式是Java SE 8中引入的一项新特性,它是一个匿名函数,可以把Lambda表达式看作是简洁、可读性高的定义单方法接口(Functional Interface)的方式。Lambda表达式的定义方式与方法类似,但它没有名称、返回类型和修饰符。 Lambda表达式的语法如下: (p…

    Java 2023年6月3日
    00
  • JavaWeb中struts2实现文件上传下载功能实例解析

    JavaWeb中struts2实现文件上传下载功能实例解析 在JavaWeb应用中,实现文件的上传下载是很常见的需求。而在struts2框架中,实现文件的上传下载也并不难。本文将详细介绍struts2框架中如何实现文件上传下载的功能。 1. 文件上传实现 在struts2框架中,文件上传的实现需要用到Commons-Fileupload和Commons-Io…

    Java 2023年5月20日
    00
  • java打印正弦曲线示例

    下面我会详细讲解Java打印正弦曲线示例的完整攻略,请耐心阅读。 Java打印正弦曲线示例 简介 本文将介绍使用Java打印正弦曲线的过程,并附上代码示例和详细说明。正弦曲线是一种常见的数学曲线,它可以通过一系列的正弦函数值计算得出并绘制出曲线。 准备工作 在开始正弦曲线的绘制之前,需要先准备好Java开发环境。安装好JDK并配置好环境变量后,打开编辑器开始…

    Java 2023年5月26日
    00
  • springMVC的生命周期详解

    Spring MVC的生命周期详解 Spring MVC是什么 Spring MVC 是构建于 Spring Framework 之上的一个与 Servlet API 无关的 Web 框架。相比于传统的 Servlet,使用 Spring MVC 可以更快地开发 Web 应用程序,它也更加灵活、可扩展和可配置。 Spring MVC的生命周期 Spring …

    Java 2023年5月16日
    00
  • Java的Struts框架报错“ActionFormNotFoundException”的原因与解决办法

    当使用Java的Struts框架时,可能会遇到“ActionFormNotFoundException”错误。这个错误通常由以下原因之一起: ActionForm未定义:如果ActionForm未定义,则可能会出现此错误。在这种情况下,需要定义ActionForm以解决此问题。 ActionForm名称错误:如果ActionForm名称错误,则可能会出现此错…

    Java 2023年5月5日
    00
  • Spring Security自定义登录页面认证过程常用配置

    下面我给您详细讲解一下“Spring Security自定义登录页面认证过程常用配置”的完整攻略,希望对您有所帮助。 一、Spring Security 自定义登录页 1.1 配置Spring Security 首先要配置 Spring Security,添加依赖: <dependency> <groupId>org.springfr…

    Java 2023年5月20日
    00
  • Java HashSet(散列集),HashMap(散列映射)的简单介绍

    Java HashSet 和 HashMap 的简单介绍 HashSet HashSet 是集合框架的一部分,它实现了 Set 接口,用于存储一个没有重复元素的集合。它通过散列表(Hash table)实现,散列表可以看作是一个数组(Array),数组中的元素是链表(LinkedList),每个元素称为“桶(bucket)”,桶中存储的是元素的值。 Hash…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部