00:00
现在啊,同学们,嗯,这是pro的零三,我就不在上面修改了,我直接复制一个CTRLVCTRL,呃,CTRLCCTRLV,然后PRO04。好,这个把它改成1.2的版本。那么这个当中呢,我需要引入什么呢?我需要把负类叫best丢,我需要把它引入进来。咱们一起来看一下啊。好,然后回到这边来,我们找到structure,然后点击加号,点击import,我把零四把它加进来,行吧,同学们。点击OK,点击应用。好,这样零四就加进来了,那其他三个我就不看了,看零四。把它打开。回到这边来。同学们,大家帮我一起来想一想啊。我们这边所使用的driver,我们使用的URL,我们使用的user和password这四个信息啊。这四个常量星系啊。你除了float的DA,咱们的DB里面我们有一张表叫T杠的表,是是需要用到这四个属性的,请问一下,如果我们这个数据里面还有其他的一些表,比如说订单表啊,比如说购物车表啊。
01:04
啊,比如说什么用户表等等等等,是不是也需要用到这四个属性。大家能听懂他说什么吗?啊,只要我访问的是这个数据库。我这一个数据库里面不一定非得只有一张表嘛,我可能会有很多表嘛,那么这四个属性我都要用到,所以呢,我把它放在这个flow的DA里面不太好。因为我们可能还有订单or的DA m po,我们可能还有购物车卡的item DA po,我们可能还有用户use质的DA m po,可能还有商品的DA m po。他们都在这个数据库里面,所以这个信息我们应该再继续向上提取。因此,在这个do当中,我来写一个。啊,我来写一个。好。我写一个叫。Do当中,我来写一个叫BA点。Best。我写了一个类叫best,别,我把它放在best这个包里面。
02:03
好了,那这个类呢,我们可以把它写成abstract,这啥意思哦。表示这是个车厢内。也就告诉别人这个类,你不要直接给我六。你要想用它这个类,请你给我继承,是这意思吧,因为抽象类是不是不能溜啊,抽象类允许有过的方法,但是不允许直接六。好了。然后我把这四个属性剪切。我把它放到这里面去。那当然了,我们这边可以写protected或者是public都可以啊。啥意思?是不是我的子类是可以访问的呀,或者是同一个包是吧?是可以访问的啊,当然public是公共的。好,不一定是子类也可以访问是吧,那行吧,先把它写成public。然后他我是不是可以让他继承。是吧,同学们。我可以让他继承best do,这样我就把这四个属性啊,把它向上提取了,一定要知道为什么要向上提取。
03:03
因为我说了的do用着四个属性。你如果有O的订单相关的DA也需要用这四个属性,你有用户相关的也需要用这四个属性,因此我把这属性就提取到这个。啊,提取到类里面去了。再来。大家再帮我想一想。我们刚才有获取连接,有释放资源,请问一下,如果我有订单DA m po,用户的DA m po,或者商品的DA po,他是否也需要获取连接,是否也需要释放资源?这两个操作应该是通用的,因此这两个操作我把它剪切。剪切之后,我把它放到负类里面去。把它放到这里面。放到这里面去之后。那你就不要写成private了。因为我在一个类的内部,你是private是可以访问的。所以这玩意儿我就把它写成predicted。
04:00
啊,把它变成受保护的,当然你写public也行啊。就这样的。那这样的话,他就可以访问了。你看现在也不报错了啊,我就把它挪到外面去了,还有。这三个。这三个变量,我们也把它挪到负类里面去。啊,把它放到类里面去,把它放到这儿。好。OK。我把它挪到复联里面去了。因此我们再来看。请大家帮我一起来思考一下啊。大家帮我一起来想一想。增删改操作。增删改操作经过了哪几个步骤?这是添加。增加。获取连接。SO1句。PSMT。设置参数。执行更新。释放资源。好,经过这几个步骤。
05:04
稍等一下啊,我把它写在这,把它放到右边去。好,一起来看一下啊。这是我爱的fruit。爱的方法,我把它写在这第一步。获取连接。是不是获取连接。第二步。叫编写SQL语句。是吧,第三步是PSMT没错吧,第四步是填充参数,没问题吧?第五步执行更新有没有问题。没有问题。第六步,释放资源。是不是?这是我们爱的,哎,没错吧?继续看。修改方法。Update fruit。阿不的弗,大家看一下第一步是不是获取连接?获取链接。第二步。编写思考。
06:00
是不是?第70行是什么?是不是创建PSMT?71行到72行是什么?是不是停中参数。73行是什么?是不是执行更新。对吧,77行呢。释放资源。请大家对比一下我右边写的12行到第18行,以及第三行到第九行,你看一下。是不是一样的。应该是一样的。那哪里如果说非得老师有不一样的,哪里不一样。SQ语句应该是不一样的,我上面这个执行的是音色的操作。我这个地方执行的是阿的操作。是吧,同学们因为SQL语句不一样,所以它这个SQL语句里面的问号是不一样的,问号不一样会导致我们填充参数的时候不太一样。对吧,阿D的好像只有俩问号。是不是啊,所以我们写一下填充参数,两个参数。
07:03
呃,这边提供参数好像是四个参数。总共五列嘛。自制列那一列不需要你填充值嘛,对吧,那就四个参数。好了。请大家再看一下删除。Delete删除,你先看一下步骤,第一步获取链接。获取链接第二步,搜狗语句搜语句第三步,PMTPSMT第四步,填充参数填充参数。执行更新,执行更新释放资源,释放资源。是不是不一样的,还是sol语句?它执行的是delete,它填充参数填充的是一个,因为我只有一个问号。没错吧,同学们。所以我们会发现增删改操作。他们的步骤是一模一样的。只是在SQL语句以及参数上面有一些小的差别。那但是我们大的步骤总共就这么六步是一样的。因此。
08:00
因此注意看。我随便考一个you c。我把这个放到我们的best丢里面去。或者我就直接写吧,我这边写一个啊,叫执行更新返回影响行数。返回影响行数。Protected返回影响函数int类型ex update什么内容不一样呢?SL语句不一样,那既然你搜语句不一样,我就以参数传递进来,能看得懂吗?参数不一样,那参数也传递进来。这是不是叫不定参数啊。是吧,同学们,也就是说第一个参数必须得是死菌,后面是不是传零到多个参数啊,也可以传一个数组。那行吧,我们在这边写一下。哎,这个不要,这个也不要看一下啊。把它挪进来。第一步,获取连接。
09:00
第二步,搜口语句这边有,所以搜口语句山。PSMT。根据这个connection创建PSMD,再往下我要填充参数,所以这一句话把它删掉。我们写一下IFS不等于now。并且点嫩S大于零嘛。是表示你有这个参数啊,有的话我再填充嘛,PSMt.set哎呀set in还是set数据呢。不知道,那很好,大家想到object,那就set object吧,好,你到底有几个参数呢?我这是不是一个不定参数,是不是相当于是个数组啊?那行吧,咱们可以通过循环for。I小于点NSI加加,那我们把这个挪进去,那你看一下你I是从零开始的,但是好像我们问号是不是从一开始啊,那叫I加一。然后中国号I能看得懂吗?这样我们就把参数设置好了,然后return.xq把这个大于零删掉。
10:04
那这个我就把它写完了啊,我们就在这边就可以了,最后如果你能跑出来零。表示影响行数是零行,否则这便是真实的影响行数。那这个执行更新啊,我就把它写完了。就这样的。那这个改完之后,我们再回到do里面去。删除操作,我们应该怎么写呢?看好了,Return super.update。把我们搜狗一句拿过来。然后第一个参数思考一句,第二个参数FM大于零。搞定。全部删掉。这样就可以了。啊,这就是我们的删除操作,我就把它写完了。那么以此类推。这个是修改,Update,我们把搜狗语句放在这。把思索语句放在这儿。然后。Return super.q update搜狗一句放进去,那第一个是f count,那就flu.get f,第二个是ffid getfid,看到了吗?
11:08
好,就这样的,那把它改一个大于零。好,后面全部删掉。搞定。这是我们的RD的操作。再往下,这是爱,这是添加操作,把搜狗语句挪上去。然后return。super.update搜狗一句float点,那叫float.get price float.get。Get remark。没有了。哎,四个写完了。是吧,加一个大于零是吧,那行。那从这到这山。啊,就把它变成这样了。所以当前我这个类当中的代码只有86行了。啊,就是这样的。这是我们所做的增删改。
12:00
查询先不着急啊,查询先不着急增删改,我已经把它搞定了。那么我再回到测试类,咱们再去试一下。回到我们的view,找到client。好,我们再来运行一下啊,运行它。好,我们选择一。查询应该是问题不大,咱们添加一个吧。呃,比如说还有什么水果。柚子是吧,行吧。单价六块66。OK。添加成功选一,哎,可以的吧,啊,确实可以加进去了,那说明没有问题。啊,其他咱们就不试了啊。好退出就可以了,下架就删除嘛,是吧,这个反正你添加音色的可以估计下架应该也没啥问题吧,因为他们调用的是不是同一个方法呀。好了,这是我们对于增删改所做的优化。
我来说两句