发表于: 2017-11-13 21:52:32

1 838


今天完成的事情:

    熟悉了使用JDBC连接数据的库的用法以及规范:

    ①加载驱动

             ↓

    ②获取连接对象

             ↓

    ③获取语句操作对象

             ↓

    ④执行SQL语句

             ↓

    ⑤解析结果集

             ↓

    ⑥释放资源(关流)

            





DAO规范:

        

1:当应用中没有DAO设计的时候,会出现什么问题?

2:此时的设计,在客户端中编写了操作JDBC的代码.

这从功能上分析,是没有问题的.

----------------------------------------------------

但是,存在功能代码重复的问题.

因为把功能代码编写在客户端中,此时若有3个客户端,则功能代码会重复3次.

----------------------------------------------------

该问题的解决方案,我们从之前的开发经验入手去分析:

-----------------------------------------------------------

数组  :存储数据,把数据存储到内存中.

数据库:存储数据,把数据存储到磁盘中.

-----------------------------------------------------------

讲解数组的时候:讲过数组的相关操作:

1):把数据存储到数组.

2):取出数组中的数据.

3):修改数组中的数据.

4):删除数组中的数据.

此时,也是在每一个客户端中编写代码,如此一来,在每一个客户端中代码依然重复.


DAO(Data Access Object)是一个数据访问接口,数据访问:顾名思义就是与数据库打交道。

夹在业务逻辑与数据库资源中间。

在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。

用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法(CRUD)。

在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。

DAO中的主要操作:增删改查(CRUD).



DAO其实是一个组件(可以重复使用),包括:接口和接口的实现类

分包规范:

   域名倒写.项目模块名.组件;

   模型组件         -> smis.domain包;

   DAO接口组件 -> smis.dao包;

   DAO实现类     ->smis.dao.impl包;

   工具                 -> smis.pss.util包;

   测试                 -> smis.pss.test包;

--------------------------------------------------

DAO组件起名规范:

以下使用Xxx都表示一个对象比如Employee,Department.

DAO  接口:  IXxxDAO 访问学生的数据接口   IStudentDAO

DAO实现类: XxxDAOImpl   学生访问的接口的实现  StudentDAOImpl

DAO测试类: XxxDAOTest   学生的数据访问接口的测试   StudentDAOTest

DAO对象的名字: 如果只有1个DAO叫  dao   有多个时叫 XxxDao   





明天计划的事情:

结束JDBC的学习.


遇到的问题:


在编译时一直会提醒这个警告,后来了解知道是因为maven设置上的问题,需要做如下修改:


<profile>
  <id>jdk-1.8</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.8</jdk>
  </activation>
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
  </properties></profile>

http://blog.csdn.net/duchao123duchao/article/details/71480106




收获:

更深刻的理解到了对象以及方法封装的实用性.


http://task.ptteng.com/zentao/project-burn-414.html


返回列表 返回列表
评论

    分享到