java JDBC

一.jdbc的概述:

在开发过程中我们使用的shijava语言,那么肯定是要通过java语言操作数据库。

1.1jdbc的概念

JDBC是java来执行sql语句的AplJDBC是java访问数据库的标准规范,可以对多种关系类型的数据库进行统一的访问;它是有java语言编写的接口和类组成。

JDBC是接口,由数据库生产生产厂商提供的实现类被称为驱动。

1.2 JDBC的组成;

接口规范;一开始有很多的数据库他们是不统一的每个数据库都有自己的接口,这样子就显得很麻烦;最后sum公司出手了他制订了java程序连接各种数据库的统一接口规范。这样的话,不管是链接哪一种数据库,java代码都可以保持一致性。

实现规范:因为各个数据厂商的的软件各有不同,那么各自的内部如何通过sql实现增删改等操作管理数据库,只有这个数据库厂商自己更清楚,因此接口规范就交给数据库厂商自己实现。

厂商实现内容和过程封装成jar文件,我们程序员只需要将jar文件引入到项目中集成即可,就可以开发调用实现过程的操作数据库了。

二.JDBC快数入门;

准备一下自己的数据库

1.2官网下载数据库连接连接驱动jar包:MySQL :: Download MySQL Connector/J (Archived Versions)

穿件java项目,在项目下创建lib文件夹,将下载的驱动jar包复制到java项目下lib里面;

选中复制到lib文件夹里面的jar包,右键找到--->Add as Library,点击什么都不用管点OK就好,

与项目集成。

java 复制代码
package JavaJdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/**
 * /** * JDBC API中的核心类和接口
 * DriverManager(类): 用于注册驱动和获取连接
 * Connection(接口): 表示与数据库创建的连接
 * Statement(接口): 执行SQL语句的对象
 * ResultSet(接口): 结果集或一张虚拟表
 *
 * *  以上接口由MySQL驱动程序jar包,提供实现类
 *
 * * JDBC开发步骤 ,固定步骤 6个 (模版)
 * 1.注册驱动
 * 2.获得连接对象
 * 3.获得执行sql语句的对象
 * 4.执行SQL语句,获取结果集对象
 * 5.处理结果集 (打印控制台)
 * 6.释放资源
 **/

public class JDBC3 {
    public static void main(String[] args)throws Exception {
        //注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");

        //2。获得连接对象
        String url = "jdbc:mysql://localhost:3306/day7-16";//连接数据库的地址:我的是连接day7-16
        String username="root";//填写数据库的用户名
        String password="G20030718";//数据库密码
      Connection conn = DriverManager.getConnection(url, username, password);

        //获取执行sql语句的对象
       Statement state = conn.createStatement();

       //修改数据
       String query ="update tab_User set nickname='蟹老板' where id='1';";
       //删除数据
        String ques = "delete from tab_User where id='4'";
        //添加数据
            String sql="insert into tab_User values (null,'zhaoliu','238761','张三')";
            
            //查看数据:
        String sql1 ="select * from tab_User where nickname='张三' and password = '123456'";
        
            //影响行数:注意:executeUpdate() 增删改 executeQuery() 查询
         int i = state.executeUpdate(ques);
       int i1 = state.executeUpdate(query);
        int i2 = state.executeUpdate(sql);
     ResultSet resul = state.executeQuery(sql1);
        // 处理结果集
       if(i>=1){
           System.out.println("修改成功");
       }else{
           System.out.println("修改失败");
       }
       if(i1>=1){
           System.out.println("删除成功");
       }else{
           System.out.println("删除失败");
       }
        if(i2>=1){
            System.out.println("添加成功");
        }else {
            System.out.println("添加失败");
        }
        if(resul.next()){
            System.out.println("查询成功");
        }else{
            System.out.println("查询失败");
        }
//释放资源:
        resul.close();
        state.close();
        conn.close();
    }
}
相关推荐
tianyu2341 小时前
Java 正则表达式终极指南:从 Pattern 到 Matcher,从双重转义到性能优化,一篇全搞定
java·开发语言·正则表达式·group·find·pattern·matcher
caimouse3 小时前
ReactOS 窗口系统分析(23):键盘 — keyboard.c + kbdlayout.c
c语言·开发语言·计算机外设
Emily156853598703 小时前
Emerson 1C31129G03 Analog Input Module
java·开发语言·前端·plc·emerson·1c31129g03·input module
就叫_这个吧8 小时前
Java递归方法实现面包屑导航
java·开发语言
fīɡЙtīиɡ ℡8 小时前
AI 应用系统设计
java·开发语言·人工智能
城管不管8 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
码匠许师傅8 小时前
【C++ 面试真题】26. 聊聊 C++ 的智能指针
java·c++·面试
AI绘画哇哒哒9 小时前
【建议收藏!】35岁后端血泪忠告,这3类人别硬转Agent(过来人亲述)
java·人工智能·后端·ai·程序员·大模型·agent
最强小杰9 小时前
gpt-5.6-sol 频繁报 503 怎么办?区分容量熔断和限速 429 的排查方法 + 可复用 retry wrapper
java·人工智能·gpt·ai
今天AI了吗10 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习