当前位置: 首页 > news >正文

JDBC——使用Java语言操作数据库

目录

JDBC简介

JDBC概念

 JDBC本质

JDBC好处

JDBC快速入门

 JDBC编程步骤 

Statement和PreparedStatement的异同及优缺点

executeQuery和executeUpdate的区别


JDBC简介

JDBC概念

JDBC就是使用Java语言操作关系型数据库的一套API

●全称: ( Java DataBase Connectivity ) Java数据库连接

同一套Java代码,操作不同的关系型数据库

 JDBC本质

●官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口

●各个数据库厂商去实现这套接口,提供数据库驱动jar包

●我们可以使用这套接口(JDBC) 编程,真正执行的代码是驱动jar包中的实现类

JDBC好处

●各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发

●可随时替换底层数据库, 访问数据库的Java代码基本不变

JDBC快速入门

 

步骤:

 JDBC编程步骤 

0.导入相应jar包

1)创建目录,

 

 2)将jar包复制到创建目录中

 

 3)右键jar包点击Add as Library...

4) 选择Level复选框   选择Module Library  点击OK,jar包配置完成

 

 1.注册驱动

注意:Class.forName需要捕获ClassNotFoundException. 

 2.获取连接

这里需要提供:数据库服务端的IP地址:127.0.0.1 (这是本机,如果连接其他电脑上的数据库,需填写相应的IP地址)
                         数据库的端口号: 3306 (mysql专用端口号)
                         数据库名称 db1(根据你自己数据库中的名称填写)
                         账号 root
                         密码 1234(如果你在创建数据库的时候没有使用默认的账号和密码,请填写自己设置的账号和密码)

使用DriverManager.getConnection(url,username,password)获取连接对象
Connection是与特定数据库连接回话的接口,使用的时候需要导包,而且必须在程序结束的时候将其关闭。getConnection方法也需要捕获SQLException异常。

3.定义sql语句

定义所需要对数据库进行操作的sql语句

4.获取执行sql的对象   Statement和PreparedStatement对象

 5.执行sql

stmt.executeUpdate(sql) //用于DDL,DML语句

stmt.executeQuery(sql)  //用于DQL语句
 

6.处理结果

7.释放资源(与关闭流的方式一样,先开的后关,后开的先关)

        //6.处理结果
        System.out.println(count);

        //7.释放资源
        stmt.close();
        conn.close();

 简单示例:

package com.itheima.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class JDBCDemo {
    public static void main(String[] args) throws Exception {
        /**
         * JDBC快速入门
         */
        //1.注册驱动
        Class.forName("com.mysql.jdbc.Driver");  //mysql5之后的驱动jar包,可以省略注册驱动的步骤

        //2.获取连接
        String url = "jdbc:mysql://127.0.0.1:3306/db1?useSSL=false";
        String username = "root";
        String password = "1234";
        Connection conn = DriverManager.getConnection(url,username,password);

        //3.定义sql语句
        String sql = "UPDATE account SET money = 2000 WHERE id =1";

        //4.获取执行sql的对象 Statement
       Statement stmt =  conn.createStatement();

        //5.执行sql
        int count = stmt.executeUpdate(sql);//返回值是受影响的行数

        //6.处理结果
        System.out.println(count);

        //7.释放资源
        stmt.close();
        conn.close();
    }
}

Statement和PreparedStatement的异同及优缺点


同:两者都是用来执SQL语句的

异:PreparedStatement需要根据SQL语句来创建,它能够通过设置参数,指定相应的值,不是像Statement那样使用字符串拼接的方式。

PreparedStatement的优点:

1、其使用参数设置,可读性好,不易记错。在statement中使用字符串拼接,可读性和维护性比较差。

2、其具有预编译机制,性能比statement更快。

3、其能够有效防止SQL注入攻击。

executeQuery和executeUpdate的区别


相同点:二者都能够执行增加、删除、修改等操作。

不同点:

1、execute可以执行查询语句,然后通过getResult把结果取出来。executeUpdate不能执行查询语句。

2、execute返回Boolean类型,true表示执行的是查询语句,false表示执行的insert、delete、update等。executeUpdate的返回值是int,表示有多少条数据受到了影响。
 

相关文章:

  • 基于RK3588的全国产鸿蒙边缘计算工控机在智能交通ETC收费系统的应用
  • ik分词器是什么,有那些配置? ik_smart和ik_max_word的两个分词算法有何区别?
  • 就业班 第三阶段(负载均衡) 2401--4.19 day3
  • 红黑树的概念学习及其在Linux内核的应用了解
  • 网工内推 | 深圳网工专场,上市公司、国企,安全认证优先
  • 深入了解计算机系统——利用循环展开对程序的优化
  • 学习JAVA的第四天(基础)
  • DOCKER逃逸
  • K8s二进制安装部署
  • 桥接模式:解耦抽象与实现,实现灵活多变的扩展结构
  • Ansible group模块 该模块主要用于添加或删除组。
  • 《银幕上的编码传奇:计算机科学与科技精神的光影盛宴》
  • 将华为地图套件集成到HarmonyOs可穿戴设备应用中
  • 基于OpenAPI(Swagger3)使用AOP技术,进行日志记录
  • JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
  • 【PyTorch深度学习项目实战100例】—— 基于UNet实现血管瘤超声图像分割 | 第30例
  • 浅谈面向对象设计思想,以及在Linux内核中的体现
  • Mybatis——进阶
  • 简单上手_Kotlin,让开发更简洁
  • 机器学习——代价函数
  • 【百日刷题计划 第八天】——熟悉字符串 字符串基础题
  • python 处理阻尼正弦
  • 人工智能基础:人工智能云服务(Alaas)介绍
  • 【Leetcode】1092. Shortest Common Supersequence
  • Datawhale 202210 Excel | 第五、六、七章 Excel函数示例 Excel函数列表
  • matlab实时串口通讯示例
  • 18-CSS3的2D和3D属性
  • 【韩顺平老师讲MySQL】数据类型详解
  • 认识和了解Linux文件系统。
  • Simulink 自动代码生成电机控制:基于Keil软件集成
  • 【ArchSummit】小红书缓存服务多云建设之路
  • Educational Codeforces Round 137 (Rated for Div. 2)-赛后总结