• JDBC—DAO


    一、JDBC

    什么是JDBC?
    JAVA DataBase Connectivity (Java 数据库连接技术)
    由Java编写的一组类和接口组成,为各种类型的数据库提供
    统一的访问。
    JDBC的作用?
    一种将程序数据持久化到数据库的机制。
    JDBC的组成?
    1:JDBC API 主要做三件事:
    与数据库建立连接/发送SQL语句/处理结果
    2:JDBC Driver Manager 驱动程序管理器
    3:JDBC驱动 不同的数据库需要不同的驱动,这些驱动都实现
    了JDBC API中的各种接口。

    JDBC访问数据库的步骤?
    1:加载JDBC驱动
    2:与数据库建立连接
    3:发送SQL语句并得到返回的结果
    4:处理返回结果
    (Structured Query Language)

    两种常用的驱动方式:
    1:JDBC-ODBC桥连方式连接数据库
    2:纯Java方式连接数据库
    ------------------------------
    常见的连接数据库错误:
    1、驱动名错误
    2、数据连接字符串,数据库用户名,输错
    3、数据库操作结束,没有关闭数据库连接,占用系统资源
    4、关闭数据库连接的语句没放到finally语句中,可能不被执行

    1. (一)JDBC-ODBC连接数据库

    1、在不需要ResultSet对象,Statement对象,Connection对象的时候,显示地关闭它们
    public void close() throws SQLException
    2、要按照,先ResultSet结果,后Statement,最后
    Connectiond的顺序关闭资源。因为ResultSet是通过Statement执行SQL命令得到的,而Statement是需要在创建连接之后才可以
    使用的。
    3、用户如果不关闭ResultSet,当Statement关闭,重新执行或
    用于多从结果序列中获得下一个结果时,该ResultSet将自动关闭

    1. (二)纯JAVA方式连接数据库

     

    (三)常用的5个对象

     

    Connection,DriverManager(略,见用例)

     

    1、Statement常用方法

    2、ResultSet常用方法

     

    3、PreparedStatement的介绍

     

    a : PreparedStatement接口继承自Statement接口:(优点):

    1.提高了代码的可读和可维护性

    2.提高了SQL语句的执行性能

    3.提高了安全性( or '1'='1' 注入拼接攻击)

     

    b : PreparedStatement接口的使用

    使用PreparedStatement的execute(String sql)方法执行sql语句如果是查询的话返回true,如果是更新或插入的话就返回false所以执行插入或更新语句应该使用executeUpdate():

    (1) 返回SQL 数据操作语言 (DML) 语句的行数

    (2) 对于无返回内容的 SQL 语句,返回 0。

     

    c : statement和preparedStatement的区别:

    1.statement每次执行sql语句,相关数据库都要执行拼接sql语句的编译,preparedstatement是预编译的,代码可重用支持批处理。使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。

    2: statement需要拼接sql语句,preparedstatement的sql语句可以用变量替换,达到代码重用的好处

    3.安全性:传递给Statement的字符串参数会自动被驱动器忽略。传递给PreparedStatement对象的参数可以被强制进行类型转换,使开发人员可以确保在插入或查询数据时与底层的数据库格式匹配。

     

    d : 使用PreparedStatement操作数据库的三步骤:

    1.创建PreparedStatement对象

    2.设置每个输入参数的值

    3.执行SQL语句

     

    PreparedStatement用例

     

     

    JDBC用例:

     

     

    二、JDBC—DAO模式

     

    什么是DAO?
    1:Data Access Objects :数据存储对象:
    2:DAO指位于业务逻辑和持久化数据之间实现对持久化数据的访
    问,也就是将数据库操作都封装起来,对外提供相应的接口
    3:[采用面向接口,有利于代码的,低耦合高类聚原则]
    DAO的优势?
    1:隔离业务逻辑代码和数据访问代码
    2:隔离不同数据库实现
    DAO的组成?
    1:DAO接口 把对数据库的所有操作定义为抽象方法
    2:DAO实现类 不同数据库给出的DAO接口定义方法的具体实现
    3:实体类 用于存放和传输对象数据
    4:数据库连接和关闭工具
    避免了数据库连接和关闭代码的重复

     

  • 相关阅读:
    MySQL 索引相关
    MySQL 事务操作
    MySQL 分支循环
    详细实例教程!集成华为虚假用户检测,防范虚假恶意流量
    快速集成华为AGC云存储服务-NodeJS
    随心译——无广告的专属实时翻译神器
    如何实现情景式精准触达用户,提高用户活跃与转化?
    快速集成华为AGC-AppLinking服务-iOS平台
    华为联运游戏或应用审核驳回:点击登录进入游戏,未显示欢迎栏
    视频App如何使用无线传输服务获得更好的播放体验
  • 原文地址:https://www.cnblogs.com/domi22/p/8059268.html
Copyright © 2020-2023  润新知