MySQL-java连接MySQL数据库+JDBC的使用

目录

1.准备所需要资源

2.导入驱动包

3.连接数据库步骤

首先在MySQL中创建好数据库和表

代码实现连接数据库


1.准备所需要资源

1.mysql和驱动包

我用的是5.7的mysql和5.1.49的驱动包,链接放在网盘里,需要的自取

链接:https://pan.baidu.com/s/1-OOr_Wf34v-V2Kvwm8-MtQ?pwd=ax66
提取码:ax66

2.导入驱动包

打开我们心爱的idea,创建好项目,复制驱动包粘贴到项目里面,我这里是创建了一个lib文件夹;

然后正式导入,右键驱动包,点击add as Library即可完成导入

接下来就是进行连接

3.连接数据库步骤

  1. 创建数据库连接Connection

  2. 创建操作命令Statement

  3. 使用操作命令来执行SQL

  4. 处理结果集ResultSet

  5. 释放资源

首先在MySQL中创建好数据库和表

我这里提前创建好数据库test44,表是tets66

代码实现连接数据库

复制代码
public class Test03 {

    public static void main(String[] args) throws SQLException {
        Scanner input = new Scanner(System.in);

        // 1. 创建数据源(DataSource)
        DataSource dataSource = new MysqlDataSource();
        //向下转型,低耦合
        //127.0.0.1环回ip(地址)
        //电话
        //test02为数据库名称,就是要连接的数据库
        //false代表不i需要加密
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test44?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root"); //默认自带的用户
        ((MysqlDataSource) dataSource).setPassword("123456");

        
        // 2. 建立连接数据库服务器
        //Connection表示连接
        Connection connection = dataSource.getConnection();

        // 3. 构造操作数据库的 SQL 语句,
        System.out.println("请输入id");
        int id = input.nextInt();
        System.out.println("请输入姓名");
        int name = input.nextInt();
        //String name = input.next();;

        //不推荐的写法
       // String sql1 = "insert into test66 values("+ id +","+ name +")";
        //推荐写法
        String sql = "insert into test66 values (?,?)";//?表示占位符
        PreparedStatement preparedStatement = connection.prepareStatement(sql);  // 构造 "语句对象"
        preparedStatement.setInt(1, id);//
        preparedStatement.setInt(2, name);

        // 4. 执行 SQL语句
        //表示修改到的行数
        int n = preparedStatement.executeUpdate();
        System.out.println("n = " + n);

        // 5. 释放资源
        preparedStatement.close();
        connection.close();
    }
}

执行效果

相关推荐
Warolitbos4 小时前
【数据库】SQL进阶15题,窗口函数/索引/事务一页速查
数据库·sql·学习·mysql·面试
BioRunYiXue4 小时前
使用docker分析高通量测序数据
java·数据库·人工智能·spring cloud·docker·tomcat·html
卓豪终端管理4 小时前
300 台终端补丁推送完成 ≠ 漏洞关闭:补丁稽核闭环的状态机与工程落点
网络·数据库·php
Shaoshing4 小时前
缓存一致问题及常见解决方案
java·缓存
l1t4 小时前
DeepSeek总结的PostgreSQL 中的二进制只读副本,第三部分
数据库·postgresql
聚美智数4 小时前
文档转换 API‑文档转 PDF‑PDF 转文档‑异步文档处理‑文件格式迁移‑转换结果回调推送 API 接口介绍
android·java·pdf
从零数据分析4 小时前
零基础学SQL 23:和上月比总对不上?LAG/LEAD 一步取出上一次(附 4 个模板)
java·数据库·sql·mysql·oracle·sqlite·database
码士集团小青5 小时前
Redis 缓存击穿(失效)、缓存穿透、缓存雪崩怎么解决?
数据库·redis·缓存
yuzhiboyouye5 小时前
com.fasterxml.jackson.annotation 里最常用高频的注解,可以按“控制字段、控制格式、控制结构、控制流程”来记
java·开发语言
太理摆烂哥5 小时前
MySQL的查询
数据库·mysql