zoukankan      html  css  js  c++  java
  • DAO模式

    JDBC封装

    优点:

    1. 隔离细节
    2. 降低代码间耦合性
    3. 提高代码可扩展性和维护性

    附注:

             DAO模式提供了访问关系型数据系统所需操作的接口,将数据访问和业务逻辑分开,对

             上层提供面向对象的数据访问接口.

    DAO模式实现两层分离:

     

    • 代码间分工明确,数据访问层代码不影响业务逻辑层代码,这也符合单一职能原则,降低了耦合度,提高了代码的可复用性。。
    • 隔离了不同的数据库的实现,采用面向接口编程,如果底层数据变化了,如mysql变成了oracle。中需要增加DAO接口的实现类即可,原来的Mysql实现类不用修改,这符合开闭原则,降低耦合性,提高扩展性和移植性.

    DAO模式主要组成部分:

     

    • DAO接口:把对数据库的所有操作定义为抽象方法,放在接口里面,可以提供多种实现
    • DAO实现类:针对不同的数据库给出不同的DAO接口定义的方法的实现(不同的实现类)
    • 实体类:用于存放传送的对象数据,就直接传递对象就可以,不用传递很多参数
    • 数据库连接关闭工具类:还有一些比如增,删,改的复用代码可以提取到公共类中,还有关闭和连接数据库,避免代码冗余..
    • SRC右键→NEW→File→输出properties结尾的配置文件。

    Prpoerties类

    Properties配置文件

    • 在文件中添加配置信息

    例:

    Driver=com.mysql.jdbc.Driver                   //添加加载驱动的字符串Url=jdbc:mysql://localhost:3306/epet                                   //添加链接的字符串

    Username=epetAdmin                                      //数据库用户名

    Password=root                                             //数据库用户密码

    读取配置文件

    Properties类常用方法

    方法

    描述

    String getProperty(String key)

    用指定的键获得值

    Object setProperties(String key,String value)

    调用hashTable的put方法,通过调用基类的put() 方法设置键值对

    Void  load(InputStream instr)

    从输入流中读取属性列表,通过对指定的文件进行装载获取文件的键值

    Void clear()

    清除所转载的键值对,该方法是hashtable提供

                      

    使用实体类传递数据

    数据访问代码和业务逻辑代码之间通过实体类类传输数据,把相关的信息封装到实体;类中,程序把实体类作为方法的参数来传递。

    实体类的特征

    • 实体类一般属性使用private修饰
    • 根据业务需求和封装性要求对实体类进行getter/setter方法,负责属性的读取和赋值,一般使用public修饰
    • 对实体类提供无参的构造函数,根据业务需求提供有参数的构造方法。
    • 实体类最好实现java.io.Serializable接口,支持序列化机制,可以将改对象转化为字节序列化而保存到磁盘(硬盘)或者网络上传输。
    • 如果实体类实现了serializable接口。就应该定义属性serialVersionUID,解决不同版本的序列化问题.
  • 相关阅读:
    MyEclipse 中引用包的快捷键
    php中函数 isset(), empty(), is_null() 的区别
    Mysql sql_mode设置 timestamp default 00000000 00:00:00 创建表失败处理
    20190729 将博客搬至CSDN
    Python网络爬虫精要
    PhpStorm 头部注释、类注释和函数注释的设置
    asp.net 将内容导出EXCEL文件(转)
    C#中用GDI+生成饼状图和柱状图
    企业级架构、开发在软件中的定义
    C#中的装箱与拆箱的概念
  • 原文地址:https://www.cnblogs.com/ase0311/p/7642656.html
Copyright © 2011-2022 走看看