• JDBC各个类的解释


    JDBC的操作步骤:
        1)注册驱动
                java.sql.DriverManager:驱动管理类(管理一组JDBC服务的)
                注册驱动的方法:
            public static void registerDriver(Driver driver):
                形参传递 是接口,需要改接口的子实现类对象
                
                提供的驱动Jar包:com.mysql.jdbc.Driver  implements  java.sql.Driver接口
                
                正常的格式: (弊端:相当于注册了两次)
                Driver driver = new  com.mysql.jdbc.Driver() ;
    //            DriverManager.registerDriver(driver);
        底层源码:
            包名:com.mysql.jdbc
            public class Driver  implements java.sql.Driver {
            
                静态代码块:加载该Driver类的同时,跟静态相关的代码先执行!
                static {
                    try {
                            //使用驱动管理了注册该驱动
                        java.sql.DriverManager.registerDriver(new Driver());
                      } catch (SQLException E) {
                    throw new RuntimeException("Can't register driver!");
                }
                    }
                
            
                }
                
                
                优化之后:使用了反射的思想:只需要加载com.mysql.jdbc.Driver该类即可!
                Class.forName("com.mysql.jdbc.Driver") ;//保证版本的向下兼容,建议永远给出这句话!
                
                
                
        2)通过驱动管理DriverManager获取数据库的连接对象:Connection(java.sql)
        驱动管理类的DriverManger :管理一组JDBC服务的
        
                public static Connection getConnection(
                String url,String user,String password):获取连接
                
        url:统一资源定位符:就是uri的一个子集
                使用url: 
                    jdbc:mysql://域名:端口号/数据库名(该库一定要存在!)
                    
                    协议很多:
                        ftp://
                        http:// 域名:端口号/访问的具体请求地址
                        mail:邮件协议
                        thunder://迅雷协...
                        file://本地文件协议
                        
                        ...
        uri:网络资源一种统称!
        
                http://localhost:8080/login  :URL
                
                /login: uri
                
                
        user:用户名:连接数据库的用户名称 :root
        password:连接数据库的使用的密码
        
        3)Connection:连接对象 java.sql.Connection
         表示与数据库的会话(连接),可以获取当前链接数据库的元数据信息(表的结构/表的字段类型..)
            成员方法:
                    Statement createStatement():创建Statement执行对象
                       并且将指定的sql发送到指定数据库中
                       
                    PreparedStatement prepareStatement(String sql):将参数sql语句进行执行
                    发送到数据库中,并且获取预编译对象
                    
                    DatabaseMetaData getMetaData():获取该数据库相关的元数据信息
                    包含了一些数据库以及表的结构....
                    
                    
                    
        4)Statement:java.sql.Statement 
        执行对象
                执行静态的sql语句
                举例:
                "update account set balance = balance + 500 where id = 1;
                id的值,给balance+500的值,(硬编码)
                
            成员方法:
                    int executeUpdate(String sql):通用方法
                    针对DML语句:insert,update,delete,有返回结果的
                    可以执行最基本DDL语句,没有返回内容的!
                    
                    ResultSet executeQuery(String sql):专门执行DQL语句:select..
                    返回的结果:结果集对象(数据库结果集的数据表)
                    
        
        
        5)PreparedStatement 执行对象(预编译对象)  extends Statement
                预编译的 SQL 语句的对象。 
                    给参数化的sql进行赋值
                    sql:
                        insert into 表名 (name,age,gender) values(?,?,?) ; 占位符号
                    publi void setXXX(第几个参数,实际值) ;
                    
                    ResultSet executeQuery():执行DQL语句 
                    int executeUpdate():执行DML语句会返回结果:影响了行数
                                        指定DDL语句,返回结果是0
                    
                
                
                
        6)ResultSet:查询后生成的结果集的数据表 (java.sql.xx) 
                    
            
                        

  • 相关阅读:
    zookeeper选举机制原理
    模块、服务、接口命名示例
    区间信息维护与查询【树状数组 】 - 原理2 多维树状数组
    高效的C++(一)
    吃瓜教程第一二章学习记录
    java毕业设计——基于java+Applet+access的综合测评系统设计与实现(毕业论文+程序源码)——综合测评系统
    CompletableFuture的基本用法
    [附源码]计算机毕业设计JAVA火车票预订系统2022
    塔望食业洞察丨大健康黄金赛道,低GI食品风起
    UE5 虚幻引擎,打开空间蓝图,出现未识别的选项卡
  • 原文地址:https://blog.csdn.net/weixin_57219176/article/details/126008417