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

执行效果

相关推荐
间彧12 分钟前
SimpleDateFormat既然不推荐使用,为什么java 8+中不删除此类
java
间彧18 分钟前
DateTimeFormatter相比SimpleDateFormat在性能上有何差异?
java
间彧29 分钟前
为什么说SimpleDateFormat是经典的线程不安全类
java
MacroZheng37 分钟前
横空出世!MyBatis-Plus 同款 ES ORM 框架,用起来够优雅!
java·后端·elasticsearch
用户0332126663671 小时前
Java 查找并替换 Excel 中的数据:详细教程
java
间彧1 小时前
ThreadLocal实现原理与应用实践
java
若水不如远方1 小时前
Netty的四种零拷贝机制:深入原理与实战指南
java·netty
用户7493636848432 小时前
【开箱即用】一分钟使用java对接海外大模型gpt等对话模型,实现打字机效果
java
Raymond运维2 小时前
MariaDB源码编译安装(二)
运维·数据库·mariadb
SimonKing2 小时前
一键开启!Spring Boot 的这些「魔法开关」@Enable*,你用对了吗?
java·后端·程序员