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();
    }
}
相关推荐
Alice-YUE44 分钟前
提示词工程:工业级 Prompt 写法与分层组装
java·开发语言·大模型·prompt·提示词工程·system prompt
泡茶喝茶写代码1 小时前
A股量化数据工程:从 REST 接口到策略信号(第 4 篇):行业与概念板块树构建
java·python·股票数据api·股票数据·股票数据api接口·股票api数据接口·股票量化数据api
弹简特1 小时前
【Java项目-企悦抽】17-抽奖模块02-抽奖接口实现
java·开发语言·状态模式·springboot
吴声子夜歌1 小时前
Nginx应用与运维——Nginx编译及部署(部署)
java·运维·nginx
HEJOO91 小时前
指针与结构体:C 语言进阶核心详解
c语言·开发语言·网络
乌暮1 小时前
JVM 原理与实践:从运行时数据区到线上故障排查
java·开发语言·jvm·后端·学习·面试
code2cat1 小时前
【随笔】MCP缓存期限与共享范围:让Agent复用资料时记住边界
java·后端·缓存·ai agent·mcp
维克兜率天2 小时前
【维克】配对交易的季节性:哪些品种适合长拿?
android·开发语言·笔记·python·算法·kotlin·量化
沫璃染墨2 小时前
《Qt从零入门系列(十二):Qt文件操作详解——从QFile读写到QFileInfo与记事本实战》
开发语言·网络·c++·qt·交互·信号处理·文件
时间的拾荒人2 小时前
Qt 界面布局与容器控件详解:从分组框到布局管理器
开发语言·qt·面试