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();
    }
}

执行效果

相关推荐
TDengine (老段)几秒前
TDengine 存储引擎概览 — TSDB 分层存储架构与数据流转全景
大数据·数据库·物联网·架构·时序数据库·tdengine·涛思数据
Full Stack Developme8 分钟前
SQL like 与 正则 区别
数据库·sql·mysql
用户2986985301417 分钟前
告别手动复制:Java 拆分 Word 文档的两种实用方案
java·后端
ujainu小22 分钟前
CANN hixl:大模型 PD 分离场景的零拷贝通信库
android·java·缓存
z2005093022 分钟前
今日算法(组合问题III)(回溯的使用)
java·算法·leetcode
XiYang-DING23 分钟前
【Java EE】IPv6
java·java-ee·php
Re_zero25 分钟前
从乐观锁被冲烂到原子扣减稳如磐石:高并发防超卖方案的三次迭代
java·后端
pixcarp28 分钟前
Redis ZSet:底层设计与实践
数据库·redis·后端·学习·golang·web
落木萧萧82529 分钟前
自动生成 SQL 会拖慢性能吗?实测 MyBatisGX、MyBatis、MyBatis-Plus、MyBatis-Flex
java·orm
我是一颗柠檬31 分钟前
【MySQL全面教学】MySQL多表查询与JOIN Day6(2026年)
数据库·后端·sql·mysql