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

执行效果

相关推荐
hef2881 天前
如何生成特定SQL的AWR报告_@awrsqrpt.sql深度剖析单条语句性能
jvm·数据库·python
dllxhcjla1 天前
微服务全套
java
亚历克斯神1 天前
JVM 内存管理 2026:深度解析与调优实战
java·spring·微服务
xcjbqd01 天前
Python API怎么加Token认证_JWT生成与验证拦截器实现
jvm·数据库·python
二月十六1 天前
SQL Server 2022 新语法:IS [NOT] DISTINCT FROM 彻底解决 NULL 比较难题
数据库·sqlserver
~ rainbow~1 天前
前端转型全栈(四)——常见的错误及解决方案
数据库·oracle·全栈
数厘1 天前
2.1SQL 学习:先懂数据库概念再学 SQL
数据库·sql·学习
逻辑驱动的ken1 天前
Java高频面试题:03
java·开发语言·面试·求职招聘·春招
Cat_Rocky1 天前
redis哨兵模式
数据库·redis
广师大-Wzx1 天前
一篇文章看懂MySQL数据库(下)
java·开发语言·数据结构·数据库·windows·python·mysql