JDBC保姆级教程--MySQL

什么是JDBC?

数据库驱动包

作为一个开发人员,通常我们是不会直接通过sql语句操作数据库的,而是通过代码的方式来操作数据库,而数据库驱动包就是这样子的一个工具 , 我们通过使用这个工具 , 从而实现利用代码来操作数据库的目的 .
数据库驱动包

JDBC

不同的数据库软件有着不同的数据库驱动包 , 那这件事情对程序猿来说简直就是一个毁灭性的打击 . 在A公司使用MySQL , 跳槽到B公司后使用Oracle , 那此时就意味着要重新学习和使用新的数据库驱动包 .
因此 , Java标准库提供了一个标准驱动包 JDBC , 实现了通过一套Java代码就可以访问各类数据库 .

JDBC的使用

导入JDBC

1. 创建一个Java项目
2. 下载JDBC驱动包

在maven中央仓库搜索输入mysql , 选择MySQL Connector Java
仓库地址 : maven
搜索jar包选择与MySQL版本对应的jar包后下载,此处我用的是MySQL5 ,(只需要大版本匹配就可以,小本本无所谓)
选择版本
选择好版本后点击进去,找到jar包的位置,点击即自动下载
下载jar包

3. 将JDBC驱动包导入并添加为库

在项目下新建一个目录并命名为lib,之后将下载好的jar到复制黏贴到该目录下
创建目录
将添加的jar包添加为lib
在这里插入图片描述

编写代码

1. 创建并初始化数据源
// 1. 创建初始化一个数据源
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/database?characterEncoding=utf8&useSSL=false");
((MysqlDataSource)dataSource).setUser("root");
((MysqlDataSource)dataSource).setPassword("2222");

url : jdbc:mysql://127.0.0.1:3306/database?characterEncoding=utf8&useSSL=false

  • 此处的url是一个固定格式 , 在使用的时候只需要修改连接到数据库名字即可
  • user默认是root , 而password则是数据库密码

jdbc:mysql:// 指定连接的数据库类型是mysql
127.0.0.1:3306 声明连接的主机的ip地址以及端口号,mysql的默认端口号是3306
database 连接的数据库的名字
characterEncoding=utf8 指定字符集是utf8
useSSL=false 不对数据进行加密

2. 与数据库建立连接
// 连接数据库
Connection connection = dataSource.getConnection();
  • 步骤一仅仅是获得了数据库在主机中的位置,并未进行连接,步骤二真正实现了连接数据库
3. 构造sql语句
// 构造sql语句
String sql = "insert into stu values (? , ?)";
  • 问号作为占位符 , 声明有几个参数
4. 对sql语句进行预编译
// 对sql语句进行预编译
PreparedStatement statement =  connection.prepareStatement(sql);
statement.setInt(1,id);
statement.setString(2,name);
  • setInt 方法是将数据传递给刚才的占位符 , 1 是第一个参数的意思 , id则是传递的数据
5. 执行sql语句
// 执行sql语句
int ret = statement.executeUpdate();
  • ret接收的是受到影响的行数
  • 数据库的修改,删除,增加操作使用的都是executeUpdate方法 , 而数据库查询使用的则是executeQuery方法
6. 释放资源
//释放资源
statement.close();
connection.close();

先释放statement , 最后再断开连接

代码

    public static void main(String[] args) throws SQLException {
        Scanner scanner = new Scanner(System.in);
        int id = scanner.nextInt();
        String name = scanner.next();
        // 数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/database?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("2222");
        // 连接
        Connection connection = dataSource.getConnection();
        // 构造sql语句
        String sql = "insert into stu values (? , ?)";
        // 预编译
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.setString(2,name);
        // 执行
        statement.executeUpdate();
        // 关闭 最后断开连接
        statement.close();
        connection.close();
    }
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值