Java连接MySQL数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 1 下载安装Connector/J,下载地址:http://www.mysql.com/products/connector/。Connector/J是专门针对MySQL而开发的JDBC驱动程序包。 2 将安装目录下的mysql-connector-java-5.1.36-bin.jar添加到环境变量的classpath,或者添加到项目的Java Build Path。

1 下载安装Connector/J,下载地址:http://www.mysql.com/products/connector/。Connector/J是专门针对MySQL而开发的JDBC驱动程序包。
2 将安装目录下的mysql-connector-java-5.1.36-bin.jar添加到环境变量的classpath,或者添加到项目的Java Build Path。
3 JDBC基本编程的步骤:

  • 加载驱动
    其使用的方法有Class.forName()或者
    Class.forName().newInstance()或者
    new DriverName()
  • 连接数据库
    DriverManager.getConnection()
  • 执行SQL语句
    Connection.CreateStatement()
    Statement.executeQuery()
    Statement.executeUpdate()
  • 取得结果集
    while(rs.next())
  • 显示数据
    将数据库中的各种类型转化为java中的类型(getXXX)方法
  • 关闭
    close the resultset
    close the statement
    close the connection

实例:

package ms;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

public class TestMySQL {
    public static void main(String[] args){
        ResultSet rs = null;
        Statement stmt = null;
        Connection conn = null;
        try{
            Class.forName("com.mysql.jdbc.Driver"); //创建该字符串标识的类的实例
            String url = "jdbc:mysql://localhost:3306/test"; //标识一个被注册的驱动程序
            String user = "root";
            String pwd = "";
            conn = DriverManager.getConnection(url, user, pwd);
            stmt = conn.createStatement();
            String query = "select * from person where age > 18";
            rs = stmt.executeQuery(query);
            while (rs.next()){
                String id = rs.getString("id");
                String name = rs.getString(2);
                int age = rs.getInt("age");
                System.out.println(id + "\t" + name + "\t" + age);
            }
        }
        catch (ClassNotFoundException e){
            e.printStackTrace();
        }
        catch (SQLException e){
            e.printStackTrace();
        }
        finally {
            try{
                if (rs != null){
                    rs.close();
                }
                if (stmt != null){
                    stmt.close();
                }
                if (conn != null){
                    conn.close();
                }
            }
            catch (SQLException e){
                e.printStackTrace();
            }
        }
    }
}

PreparedStatement的预处理语句:

String sql = "insert into person values(?,?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "005");
pstmt.setString(2, "Zhao");
pstmt.setInt(3, 18);
pstmt.executeUpdate();

statement语句的批处理:

Statement stmt = conn.createStatement();
stmt.addBatch("insert into person values('006', 'Zeng', 26)");
stmt.addBatch("insert into person values('007', 'Liu', 24)");
stmt.addBatch("insert into person values('008', 'Zeng', 17)");
stmt.executeBatch();

PreparedStatement语句的批处理

String sql = "insert into person values(?,?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "006");
pstmt.setString(2, "Zeng");
pstmt.setInt(3, 26);

pstmt.setString(1, "007");
pstmt.setString(2, "Liu");
pstmt.setInt(3, 24);

pstmt.setString(1, "008");
pstmt.setString(2, "Zeng");
pstmt.setInt(3, 17);
pstmt.executeUpdate();
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4天前
|
SQL druid Java
java mysql druid mybatis-plus里使用多表删除出错的一种处理方式
java mysql druid mybatis-plus里使用多表删除出错的一种处理方式
10 0
|
6天前
|
监控 安全 Java
Java与物联网:连接与控制设备
Java与物联网:连接与控制设备
20 0
|
1天前
|
Java 数据挖掘 BI
Java医院绩效考核系统源码B/S+avue+MySQL助力医院实现精细化管理
医院绩效考核系统目标是实现对科室、病区财务指标、客户指标、流程指标、成长指标的全面考核、分析,并与奖金分配、学科建设水平评价挂钩。
30 0
|
2天前
|
关系型数据库 MySQL 数据库
mysql 设置环境变量与未设置环境变量连接数据库的区别
设置与未设置MySQL环境变量在连接数据库时主要区别在于命令输入方式和系统便捷性。设置环境变量后,可直接使用`mysql -u 用户名 -p`命令连接,而无需指定完整路径,提升便利性和灵活性。未设置时,需输入完整路径如`C:\Program Files\MySQL\...`,操作繁琐且易错。为提高效率和减少错误,推荐安装后设置环境变量。[查看视频讲解](https://www.bilibili.com/video/BV1vH4y137HC/)。
21 3
mysql 设置环境变量与未设置环境变量连接数据库的区别
|
4天前
|
前端开发 Java 应用服务中间件
【异常解决】java程序连接MinIO报错The request signature we calculated does not match the signature you provided.
【异常解决】java程序连接MinIO报错The request signature we calculated does not match the signature you provided.
11 0
|
4天前
|
关系型数据库 MySQL 数据库
navicat过期了,直接用idea连接mysql
navicat过期了,直接用idea连接mysql
10 0
|
4天前
|
Java 关系型数据库 MySQL
【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常
【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常
|
4天前
|
SQL Java 关系型数据库
【JAVA基础篇教学】第十六篇:Java连接和操作MySQL数据库
【JAVA基础篇教学】第十六篇:Java连接和操作MySQL数据库
|
5天前
|
存储 算法 关系型数据库
MySQL连接的原理⭐️4种优化连接的手段性能提升240%🚀
MySQL连接的原理⭐️4种优化连接的手段性能提升240%🚀
|
6天前
|
SQL Java 数据库连接
Java数据库编程实践:连接与操作数据库
Java数据库编程实践:连接与操作数据库
9 0