00:00
好,那添加也说了,修改呢也说了,删除呢,咱就别写了,呃,通过刚才这个添加和修改,其实我们就可以试着呢写一个通用的增删改操作了,因为刚才咱们也简单说了一下,就是你会发现呢,我们这里个操作当中主要的区别就是你这个SQ语句啊会有不一样,SQL语句不一样,填充障碍符这块呢也有不一样,你看下边这块呢,我们是由。嗯,这个在这块,我们这块呢是有三个战略符,上面这块呢是有两战略符,那有的呢,可能还有一个,比如说我们delete from,我想删数据,我就呃VID等于什么,我就一个障碍。甚至说呢,没有占位符,你比如说我想delete,我想把这个表中的所有数据都删掉,那就delete from customers,我不不需要什么占位符了,对吧,那所以这时候呢,这个占位符的个数不一样,那就决定了我们调这个赛的方法呢,也有区别,主要呢,这个不同的点其实就是在这块。
01:02
那你想想,咱们在讲一个方法的时候呢,像这些不确定的信息,随时可能会变的信息,我们往哪放啊。对,就往参数上放呗,对吧,哎,就往参数上放就可以了,所以这块呢,我们就来写一个,试着来写一个叫通用的增。删改操作好这块我们来做一下啊,Public这个增删改咱们说以不用返回了VO是吧,然后呢,增删改呢,其实咱们也可以都统一的成为就叫一个修改了,都算是对表进行过操作了修改,所以我叫update这样,然后呢,我们呃,其实呢,主要呢,就是把这个操作呢给它扔进来,但是呢,你要变化的东西呢,我们要在参数上来体现,比如说这个不变吧,链接都得获取,对吧,那就放到这个方法体里,SQL语句不一样,所以这块呢,你需要指明你的这个SQ语句是什么,你是增删还是改啊,即使都是增,你这里边这个占位符可能也不一样,对也不一样,然后呢,对,然后的话呢,就是你这里边这个占位符需是不是也需要填一下啊,那你占位符这块有几个不确定啊,不知道有几个,那你这怎么写呢。
02:24
就可变型参了吗?哎,那参数类型呢,对这个咱们其实已经提示大家object下边你这个呢,写的时候有string data啊,但是我哪知道你第一个是string还是data呀,哎,都不知道,所以干脆我们都是object来充当,所以object类型的,哎这个参数,哎这样就行,那看看还有别的不。这块不一样,填充占一符没了,那没了那就可以了啊,那下边我们来写一下,首先呢,获取连接,这咱们就在这再写一遍啊jdb CU u.get一个connection,那这个异常了,CTRL1咱们也先给它S出去,CTRL1得到一个连接,好呢,然后呢,我们这个叫预编译SQ语句连接点prepare statement,把这个circleq呢扔进去啊,CTRL1得到一个,下边呢,下边该干嘛了?是不是该填充占位符了?
03:29
哎,这个呢,咱们叫这个事儿是吧,其实就还是这几个事儿。填充占位符。填充占位符这块呢,原来你这个搜库里边有俩,我就直接塞了两次,那我现在有几个呢?对不知道啊,这怎么办呢,循环写个循环,对,那循环几次呢。写无次,写无次数的,写无次数的,那不就死循环了吗?再写一个break是吗?那break什么时候补break呢?没有问号的时候不break是吧?说有没有一个方法告诉我有几个问号呢?没有对,其实这块呢,哎,就就是考虑这个事儿了,所以这里边我们有个要求哈,就是你这个思后当中有几个占位符,我们后边呢,你填充的你这个可变形态不就来填占位符了吗?你这个写几个参数,就是我有几个障碍符,你这个可变形参是不是就应该有几个,这个可变形参的这个个数应该与我们SQ当中占位符的个数是一样的,那我要填几个占位符是不是就全看你这个的长度是多少,它不就相当于数度点LAS嘛,诶这不就搞定了,所以这块我们再标识一下啊,这个SQ当中站位符的。
04:45
这个个数。嗯,这个应该与哎,我们可变行参的哎,这个长度一致或叫相同,哎这个呢是一定要注意的,那我们现在呢,要调用几次set object操作呢,就全看我们这个长度了,所以我们就可以写一个for循环,哎,Int I等于零,I小于2.lengths啊I加价,咱们前面也说过commit变形态呢,你就把它看成是个速度就行,所以这块呢,你就按照数组这个便利的操作去写好,下边呢,我们就点set object这个位置,写什么一定要小心,I加一咱们是从一开始的,这是零,这是A加一,那这呢,这个也I加一吗?这就别加一了,对,这是数组嘛,数组是不是从零开始的,对吧?所以这个一定要小心,这个呢很容易写错,对,这个很容易写错,就是我们这个呢,是从一开始的,这个是从零开始的啊,这个。
05:48
小心啊,这个参数呃,声明错误啊,那这样呢,填充障碍符结束以后,我们就可以再去叫执行操作了,跟原来一样。
06:01
那还是这样做,那最后呢,还是关闭资源。还这样来写CTRLC。嗯,其实主要这个区别呢,就是我们刚才处理的这个二和三这块,二其实也都一样啊,主要就是三这块的一个处理,这这就完事了,那这呢,就是我们一个叫update的这样一个通用的操作。嗯,那这块呢,我们这个异常,既然呢,你这块有这个资源的关闭了,就别throw了,还是这样把它包起来,点右键surround with catch。把这个呢往里一扔,这呢来一个默认复制。那这个呢,注释呢,咱们往下提啊。行,这个之前呢,看大家写这个代码的时候呢,你看你下来你怎么练,你跟我一样,就是你也上来了去写这个啊,就是这样这样去写,然后最后的时候呢,你可以把那个给它去掉,统一了一包,改成TRY开,就你自己练的时候,你别拿我这代码一上来先这样,然后connection con等于not prepare s PS等于not try一下,这个时候你等于no都懵了,都是吧,对,你干嘛上来就整个no呢,是吧,这你别这样写啊,你看我刚才咋写的,你也这样去写,真正写的时候也是这样写的。
07:23
对这12345,你先写个这个这个步骤说明,然后呢,你看调的是哪个具体的操作,这样来做,行,那这个图文的自然改操作写好了,写好以后你得测试一下靠不靠谱呢。大家想想我们这个通用的,这个叫通用啊,怎么叫通用呢?谁想用谁用,那对那叫通用,那跟对跟没说一样是吧,就是在我们这里边,这通用指的是适合于增删或改查线不行是吧,通用增删改,那另外的话呢,我针对的表通用吗。
08:00
咱们刚才测的都是针对于customers表来的,针对于其他的表可以吗?可以对,也是可以的,那咱们来测试就行啊,那这块呢,我们想调用一下下边这个update的操作,那你提前呢,得告诉我这个四针形的一个circle长什么样子,这个咱们没有测删除,测一个删除吧,Delete from,咱们还以这个表为例,Customers。然后VRID,比如我们用ID来删,看我这时候粘一库,就一个SQ呢,往这一放,然后呢,这个你想删谁。山19,删个前面的吧,删一个比如黎明,其实零在哪呢?你不能这么讲啊,这个这个还好吧,应该是吧,好吧,说多无益是吧,啊update行这块我们就把它给删掉了啊嗯,删掉以后,那这这就完事了,其实是吧,嗯,跑一下。
09:09
OK。成功了,成功以后呢,过来刷新一下啊,看这个第三条数据没有了啊,这个我们就相当于给删除成功啊,这个呢叫删除操作,那我们再演示一个其他的一个操作,针对于是另外一个表的,看看靠不靠谱,这个我们先注释一下,诶4G这个呢,来一个update吧,诶其实这个insert也也都可以啊update咱们再换一个表,比如说。这个表吧,Update修改一下,比如我把这里边这个二这个order name给改一下,这个你看看清楚啊,它这个叫order_ID order_name。好,Update from,这个叫order,然后呢,叫set order name,哎,赋值为分号where on ID等于这也是一个问号,好,这个我们叫update,把这个色功能扔进去,Order name改成DD,诶,有DD了。
10:11
啊,没有行,然后呢,这个ID2这样来写的,来跑一下看看啊。执行OK挂了哇,难道不靠谱吗?看一下这个错误信息以后呢,大家也会出现,其实在你写这个circleql的时候也出现过啊,说你有一个错误,在你这个circleql的这个执行当中,检查一下这个这个这个这个哎你这这这咱们写circleql的时候呢,在SQL要当中也出现过这个事,凡是出现刚才我说的这个信息的,这是你的S后L语句写的有问题,SQL语句写的有问题,S后语句哪写错了。这里边呢,这我就直接说了啊,这个order的问题,你看我这块刻意的这样做的,Order呢,是一个表明。
11:03
咱们讲过说你这个表名啊,什么字段名啊,最好不要用关键字保留字啊等等它是什么呀。它是关键字orderba吗?对吧?诶,所以这块呢,就是你我这块我特意用的啊,我就用一个跟关键字一样也可以,但是呢,会默认报错,就是这时候呢,识别的时候呢,你不要from,这是一个关键字,叫从哪个表,结果后来咔就出来一个order back order,他会认为你这这什么呀,这不认识是吧?所以这块呢,你告诉他这个order呢,就是表,所以我们用一左边的这样一个,诶这个小括号表示一下,咱们当时写那个查询语句的时候呢,表点的时候,其实那个字段不也给我们加上这个吗?那就是一左边这个啊,你加上这样一个标识以后呢,这个order呢,就不再是一个关键字的意思了,就是一个表明再来OK。还出现了是吧。From order update update,怎么还有是吧?
12:06
Delete from,那这块呢,那不好说呢,是不是的事了,那把这个先去掉吧,刚才是那个from加了是吧,这个低级错误啊再来OK。啊对,这个报是应该的是吧,然后我们把这个呢给它加上啊。哎,然后再来。这个不能再挂了,可以了是吧,然后回过来我们这时候做一个刷新,哎,这不就改成滴滴了吗?行,这就没问题啊,这呢就实现了一个叫修改操作啊,刚才写update的,照这写的把from给加上了啊行,那么你再写一个insert也是没问题的,这里边我们所谓的通用呢,就是一方面针对于增删改叫通用的,另外一方面呢,我们是适合于呃任何一张表,但前提是这个表是不是都得是你这个配置当中这个数据库里的呀,对,你想整别的数据库现在不行啊,诶只能是当前这个数据库当中生命过的表都可以,好这呢就我们实现了一个通用的增删改操作。
我来说两句