00:00
你看啊,这边是表,这边是类是吧,也就是说这边是数据库,这边是咱们的Java。OK,那么在它俩之间有一个DAO起着叫什么呀,转换器的一个作用。转换器的作用啥意思嘞,看啊,咱们数据库里边的数据是不是长这样啊,对吧,然后呢,我经过我刚才加va了这个代码之后,也就说经过了这么一个方法,我就把数据库中的各种数据就是这种乱七八糟,这种数据是不是完全的呈现在咱们了Java代码中,而且是不是一行就是一个对象啊。你看它这个转换器DA到底是什么呢?就是把数据库中表的数据直接转换成类中的一个一个对象。简单点说。
01:01
这是一行数据吧。一行数据,将这一行数据直接转换成了咱们Java中的一个对象,一个对象。一行数据一个对象一行数据一个对象。这就是DA模式,写在哪儿呢?写在这啊。将数据库中的表转换。转换成。程序中的类。是吧什么的。然后将。表中的一行。每行呃一行数据转换成。转换成程序中。的一个对象。
02:00
那你看DAO这个东西,它一直起的是什么作用啊,是不是就是转换的作用啊。哎,转换的作用,所以DA咱们称之为就是叫做。转换器哈。转。哇。它就是一种转换器。也可以把它理解为是一种转换,别说转换器了,很具体哈。转换的模式,它是一种模式。好吧,我到底怎么把数据库中的表转换成咱们程序中的类,怎么把里边的一行数据转换成一个对象,就是经过我写这么多代码搞定了。那你看,那么这个DA模式都包含什么内容呢?在这儿呢。这里面包含接口,包含实现类,这个呢,目前我怕大家不好理解,我给它合成了就一个类了啊,这个接口我没写,一会儿咱们再写好吧。
03:02
然后呢,它又包含了实体类。还记得刚才说什么是实体类的吗?这个实体类是不是就是咱们数据库中的表啊。OK,那这个实体类的包名有这么多种,你看。我刚才说这个student,这个student类实体类是吧,和数据库表一致的类,你看我这个包名叫什么,叫models是吧,Models,我为什么叫models呢?我也不知道,因为因为这么多年。所有人都这么用,都这么用,只要你是实体类,你的包名就叫models。当然,或者叫做。En,或者叫做po,也有叫VO。我用的只是其中的一个。OK,这是实体类的,这个报名的问题啊,以后看到别人的代码,或者说进公司看你的同事的代码。
04:00
看到这些单词,你应该知道它是什么东西,好吧,其实就是实体类的包的名。然后还包括什么呢?电模式,还包括数据库封装的工具类,这个呢,就是咱们的手机B类啊。好,经过了实现类、实体类和工具类三者合一,我就实现了数据库中数据转换成对象的做法。对象的做法我是不是全给转过来了?啊,都是这样。这个就叫DAO模式。DAO模式。好,那么接下来就是大家的,就是大家的,然后呢,看着啊,我给大家先走一遍,然后里边具体的代码呢,大家自己写,我先把这个过程给大家写一遍,好吧。首先呢,你看啊,步骤步骤第一步。
05:02
创建数据库工具类配置文件。数据库的工具类,DB类,我是不是已经写好了,然后嘞,还有什么。是配置文件啊,那配置文件的话,我是不是也叫con.process啊,所以第一步啊,我是不是已经搞定了,好第二步定义实体类subject与表subject对应。这话啥意思吗?应该没问题啊,我给大家解释一遍,然后定义subject do接口。啊,这步开始不知道了啊,看我给大家捋一遍啊,首先定义实体类。来实体类的话,我刚才是不是都说往models里边搞啊,因为student是不是实体类啊,别的类啊也往这里搞,好建一个类,这个类呢叫subject,不是copy轴。
06:00
沙坡。好,里边都有什么来着?直接写表中的列。还记得不?还有啥?该生成的生成。是吧?跟刚才一样吧,来生成这些东西,好,那么咱们这一步是不是已经搞定了。接下来是定义接口了啊,看好了,这个刚才也没有给大家演示哈,定义接口这个过程啊,通常是建立一个包,这个包就叫DAO。建立一个包,在这个包下创建一个接口,我看啊,我这用的是接口啊,这个接口你看他这告诉你的叫什么名。
07:01
是subject啊好嘞,那就DAO。这是个接口啊。那么第三步是完成了,第四步在接口中定义添加方法,好嘞,添加方法。I。是不是添加方法。OK,然后来他说传递实体对象为参数。实体对,什么是实体对象,就是实体类的一个对象呗。实体类是什么?Subject,而它的一个对象。没问题吧,好引包。自己看着啊,这两个看了吗。一个是Java叉created什么什么answer,还有一个是是不是model词我定义的啊,所以引的是这个啊,好了,那这个第四步搞定了,最后一步创建这个sda的实现类,也就是说为这个接口是不是得写个实现类啊。
08:07
好了,来创建一个时间类,它在它在什么下呢?这个包,这是DA包,里边儿装的都是接口。而在DA包下有一个叫做ipl。纸包里边装的都是沙的DAO。的实现类。的时间类换成。看一下这个代码结构,看下代码结构啊。接口在DAO里边,OK。DAO下边有一个子包叫ipl,就是实现这个单词employ是吧?把这个单词进行前四个字母,然后里边有一个subject do的实现类,实现类,而这个实现类要实现这个接口吧。
09:05
Subject do接口,首先把接口引上来,然后重写里边的方法。JDBC添加。看到了吧,ADBC添加。好,那这里BC添加的话,在这里边儿,咱们是不是就正常写添加就好了。正常写添加就好了,你看我现在写到哪了,接下来就是实现添加方法了,实现添加方法好,那这个TDBC写一遍吧。Insert into表明Y64一共几个餐啊?四个是吧,得到链接。好,我这个是不是得继承PP了呀。在这写继承,还是在这写继承?后面啊。
10:01
错了。在这写成。先继承后实现啊好吧,好了,这个链接拿到了,然后就是正常的操作呗,正常的操作常规操作是吧,Con点2PREPARED statement。PS。点直行直行这是啥了。这要执行Q他。Update。因为这是添加操作嘛,好吧,好在添加之前咱们是不是得问号赋值啊。Set string,第一个是啥?一共四个吧。234。好,只有第二个是科目名称是字符串,剩下是不是都是in?所以说改掉啊意思。我发现我复制还不如敲的快呢。
11:02
是吧?好了,那这些值都哪来的呀?都在对象里边呢。我。第一个s.get subject ID s.get subject name s.get class power。I still get great ED。好了,整个代码。开。Finally。这就是这个代码的完整版,完整版以后写这个PC操作都按照这么写。先接口,先接口后实现。好了,那最终我是不是得测试一下啊。嗯,开发嘛是吧,你得按照这个顺序搞啊,再建一个包叫测试包,专门的测试的。然后在里边写一个测试类。测试添加。
12:02
办方法。那其实我测试这个添加呀,我调用的是不是就是这个方法呀。咋叫这方法呀?这方法是不是在接口里边呢。Subject dasd61个DA能用吗?接口能用吗?肯定的,是时间了吗?父类引用指向子类对象吗?前边是接口作为类型,后边具体new的是它的实现类,OK,然后SD点添加,里边需要用到一个S对象。创建一个S项。S点设置它的。第15号。设置它的名字。什么课呀?
13:00
体育课。然后设置它的课时。设置它的连接。好了,测试吧,运行。程序呢,并没有报错,也执行完成了,看一下数据库刷新不是这个表。好尴尬呀。哎,哪去了,OK,是不是八十八六啊。好了,添加完成。好,最关键的是咱们看一下我这个项目结构啊。项目结构。接口实现类、实体类、测试类、工具类。
14:00
每一个包都有他自己的用法。哎,已经脱离咱们之前的开发模式了,之前什么开发模式呢,所有的东西都往一个慢方法里一怼啊。那不行啊,那扩展性维护性都特别差。所以咱们要分层,分层是吧。好了,这就是咱们的添加代码,添加代码。
我来说两句