JDBC学习笔记

jar包作用与创建

    1.jar包作用:
           1) jar包是一个以".jar"结尾文件
           2) jar包类似于压缩文件,专门存放class文件
           3)jar包用于类文件复用,降低Java商业工程师
              在进行应用程序开发难度

接口作用:
            1.约束JAR包中方法行为规范,降低JAR包使用难度
         2.接口降低项目中类文件之间耦合度,实现"可插拔式"开发

"可插拔式"开发:
          1) 别名 插件开发
         2) 在项目中当更换jar包时,此时不需要进行任何代码修改
            就可以正常执行

SPI机制:
         1) SPI机制SUN公司提供一个工具类
        2) SPI机制协助接口降低项目jar包耦合度
           实现"可插拔式"开发
        3) SPI = Service Provider Interface,接口服务提供方。
                 Service指向接口实现类, 自动为接口提供实现类

        4)  ServiceLoader:运行时到Jar中META-INF/services自动
                            加载指定接口实现类并生成接口实现类
                的实例对象
                ServiceLoader=InputStream+反射机制
JDBC规范介绍

             1)JDBC规范是SUN公司提供一套通信规则
         2)JDBC规范指定与所有关系型数据库服务器通信规则
         3)JDBC规范可以让Java类作为客户端程序与关系型数据库服务器
           通信
             4)JDBC规范中只提供了接口,这些接口存在java.sql包
         5)JDBC规范开发时基于接口与jar包形式进行开发
         6)JDBC规范所有接口实现类由关系型数据库服务器厂商提供

接口介绍

       1.java.sql.Driver接口:定义用于建立通信通道方法名称--挖洞的人

       2.java.sql.Connecion接口:定义用于维护通信通道方法名称---道路维护人员

       3.java.sql.PreparedStatement接口:定义用于运输SQL命令的方法名称---快递员

       4.java.sql.ResultSet接口:定义用于管理临时表的方法名称---临时表管理员

       5.java.sql.DriverManager类: 对SPI机制进行封装,用于自动从jar包
                                   定位Driver接口实现类,并自动通过
                       实现类的实例对象建立联通通道

                       ServiceLoader.load(Driver.class)

                       加载com.mysql.jdbc.Driver进入内存

                       static{
                       
                                 Driver driver = new com.mysql.jdbc.Drvier();
                         DriverManager.regist(driver)
                             }

JDBC规范开发步骤

           1.通过DriverManager调用Driver接口实例对象
         在Java类与MySql服务器之间建立通信通道

           2.通过Connection接口实例对象在通信通道上
         建立交通工具

           3.通过PreparedStatement接口实例对象驾驶交通工具
         将SQL命令推送到MySql服务器上执行并带回处理结果

           4.在通信结束时,为了节省内存。需要将相关对象进行销毁
          
                            封装理解

一。封装作用:
          1.提高代码复用性
      2.封装可以使项目中结构呈现有规律结构,
        便于开发人员对项目进行了解与维护

二。封装分类:
          1.基于流程封装

      2.基于特征封装
                          
      3.基于功能封装  
                     
三。基于流程封装实现:

          1.DAO类介绍:
             1) DAO=DataBase  Access  Object; 数据库操作对象
         2) 在一个DAO类中封装针对某张表操作细节
         3) 在项目中所有的DAO类都应该存放在dao包
         4) DAO类命名规则 = 表名+Dao  DeptDao/EmpDao

四。基于特征封装-----实体类(Entity)

     1.实体类介绍:
                1) 一个实体类用于描述一张表的结构
        2) 实体类的类名应该与表名相同的          dept.frm-------- Dept.class
        3) 实体类的属性名应该与表中字段匿名相同  DEPTNO INT       private Integer deptNo
                                                  DNAME VARCHAR    private String  dname
                              LOC   VARCHAR    private String  loc
                4)一个实体类的实例对象用于描述
          表文件一行数据
                             dept.frm
                                deptno    dname         loc
                 10       Accounting     xx
                 20       Sales          BOSTON

                 Dept dept1 = new Dept(10,'Accounting','xx');
                 Dept dept2 = new Dept(20,'Sales','BOSTON');

      2.实体类作用: 实体类降低DAO类开发难度 
      
                  1.有效减少Dao类中方法参数个数,
            降低方法开发与使用难度

                  2.有效减少Dao类与ResultSet操作难度

 五。基于功能封装---JdbcUtil

     1.什么是功能:

         一行命令就是一个功能.比如 int a =10;

     2.JDBC开发流程:

        1) 建立一个连接通道
    2) 创建一个交通工具
    3) 推送SQL命令并得到处理结果
    4) 销毁资源

     3.JdbcUtil作用降低DAO类开发时,使用JDBC技术难度


六。static作用

    1.节省内存

七。反射机制:

    1.介绍:
            1)是JDK中一个工具包名字(java.lang.reflect)
        2)可以帮助开发人员与JVM进行沟通,实现内存中
          类文件定位,属性与方法操作

    2.作用:
           1) 定位类文件在内存中地址[常见作用]
       2) 为对象中属性进行取值与赋值操作[主要作用]
       3) 为对象中方法进行调用

    3)核心工具类:

           1) java.lang.reflect.Class:

           一个Class对象用于管理内存中一个class文件

       2) java.lang.reflect.Field

           一个Field对象用于管理内存中class文件中一个属性                

       3) java.lang.reflect.Method

            一个Method对象用于管理内存中class文件中一个方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值