00:00
那这两个写完以后呢,回过来我们再去实现增删改查的时候呢,就没有必要非得把这个代码呢,都得写到这里边了,那这个我就不改了,咱们下边呢,做下边这个题目呢,我们就使用一下咱们的这个工具类啊,比如说下边呢,我们再演示一个增删改,这个增演示过了,先说这个删改里边挑一个。改行,可以,那就是修改customers表的一条记录,嗯,OK,好,修改。行,那现在呢,要修改记录了,那现在咱们捋一下这个过程啊,我们先把这个流程先写第一步,获取数据库的连接,这是第一步,然后回忆一下咱们刚才做的这个添加啊,第二步呢。
01:00
我们有了连接了,你是不是得想办法拿着那个circle去生成一个prepared statement是吧?这个我们称为叫预编译circleq语句返回,诶,Prepared对statement的一个实例,嗯,拿到它的实例了,就有对象了,下一步呢,你这个色库里边,咱们说通常是不是有那个占位符啊,别忘了这个事儿,下一步叫填充占位符,诶填充完占位符以后呢,这个circleq呢,就是一个正常的circleq了,你要修改谁,这就很清楚了,下一步呢?就执行了,诶执行就是让我们这个色库呢,诶到数据库里边去做一个具体操作,然后最后呢,诶资源的关闭,嗯这呢就一共这五步啊,一共这五步,那这五步呢,大家想一想啊,我这五步呢,刚才说的是一个修改,你说这个添加的话呢,满足这五步吧,是不是也这样,那删除呢也满足,那其实呢,我们是不是就有机会呢?既然你这个套路都一样,唯独的区别在哪呢?你想想就是增删改这块对区别主要就是这个SQL语句,当然你SQ要不一样了,这个战士服也有区别,对吧?就这块儿呢是不一样的。
02:20
但是呢,这块我们还可控,就是我们虽然不一样,但是可以给你写成一个套路的方式,就一个诶这个模式化的方式,所以呢,我们写完这个修改以后,咱们可以试着来写一个通用的增删改操作。嗯,来,咱们通过这个呢,再体会一下,呃,单独的一个修改啊,先获取事物连接,咱们就直接调j DB CU us,咱们自己造的这个类是吧,点get connection,哎,然后呢,先CTRL1,咱们把这个异常呢先抛一下。啊,然后再CTRL一生成我们这两个连接啊,这一下看的代码就干净很多了啊获取连接以后呢,接下来诶,我们这个叫预编译SQL语句调用的叫prepare statement把circleq传进来,SQ没有先造好。
03:05
我们想进行的是一个update,我们还是去修改卡表,想改什么呢?比如说把改这个18吧,18呢这个是贝多芬,咱们把名字改一下吧,改成比如说莫扎特啊,就是通过ID来改,比如说一般咱们这个ID呢,是主建以后,如果你想改,就是某一个确定的人,一般咱们都是通过ID操作了。好,搞ID改ID啊,嗯,Update customers set name等于这样一幅,然后where ID等于哎,这样写,嗯,这里边呢,出现了两个占略符,那prepared statement,这叫预编译词后语句。嗯,解释一下什么叫预编译词后语句,就是在我们生成这个prepared statement这个实例的时候,你看我们CTRL1得到这样的一个实例,这个实例当中是不是它已经携带了你到底要做的这个事儿啊,对,这叫预编译词后语句。
04:01
那你叫一边于,那原来不叫吗?原来还真不叫,你看我们这个connection点,咱们原来生成的时候,虽然没带大家去具体做啊,但是刚才我们也看了一眼,我们这样的话呢,生成的是一个叫statement,这个statement呢,它里边就没有带着具体的色。就是这个STEM呢,我们叫信使,他创建完这个对象以后,要干什么事,他自己也不知道呢,还而这个呢,你生成的这个prepare STEM,他出生以后,他要做什么事他是知道的。正因为他知道了,我们才有可能去解决色后注入问题,哎,这个咱们讲完这个以后呢,咱们来看一下色后注入问题,为什么用它呢,就可以搞定了。哎,就能解决了啊行接着说,那么生成这个prepare STEM以后,然后接着呢,点我们去填充占位符,这个填占位符第一个s name。是不是塞一个磁针呢?因为name是个字符串,对吧?哎,其实这块呢,我们也可以不用这个set string,咱们可以用一个通用的操作,那我就是set一个object,诶也是可以的,嗯,那object这一块的话呢,这个索引仍然是从一开始,哎,所以这个呢还是一,那我们想改这个name,把它改成是叫莫扎特是吧。
05:19
嗯,然后再第二,诶下边那个叫ID,嗯,ID这块呢,其实我们可以用set in了,但是我们是不是也可以用object在这第二个参数,嗯,改的是18,那这个ID好,这样的话呢,我们就把这个占位符呢给填充好了,下边呢叫执行。啊,哎,这就叫一个执行。这就成功了,然后资源的关闭,哎,我们jdbc u工具类点去close啊,这个咱们没有写成一个静态方法。哎,这个静态方法是吧,然后回过来,哎,这个时候呢,我们在第二调一下,这个叫close resource连接和statement。
06:04
写完了,写完以后呢,这时候注意就是我们这个throws不太合适,所以这时候你需要把这一块给它包起来,点右键surround with check,开block,这个呢,我们就生成这一种异常啊,进行一个补货,嗯,上面这个连接那也是先附一个默认值。这个操作呢,给它往下拽放到这儿啊,哎1234,哎,这是第五步放到我们的final里当中。哎,这个呢往上提。这里边呢,就不用再处理了,因为这个相应的这个TRY开啊一啊,我们都判断过了,所以这个代码呢,就这样写,这就是修改卡中表中一条记录的这样一个操作。来测试一下。OK。诶这块呢,就是一个绿条,我们没有写那个叫修改成功这个输出语句啊,来直接我们看下这个数据库里边操作18贝多芬刷新,诶莫扎特诶这就能够修改了,好。
我来说两句