00:00
好,下边呀,我们就差最后一步哈,我们去生成这个where子句的这个部分,Where子句呢,我们先把这个where关键词先给它这个加进来,大家知道我们where呢,其实也确实是有一个where标签哈,在这儿我们就不用where标签了,因为我们固定呢,就让它根据主键去做这个作为查询条件啊,作为这个where词去的组成部分,我们需要注意的是呢,这个where后边呢,给它加一个空格啊,避免这个关键词呢,他们给连到一块,连到一块这个就搜构语句就会有语法问题了,那下边呢,我们根据主见呢,去作为where词句的查询条件哈,那么这就会有个问题,我们不同的实体类呢,在数据库表里边哈,这个主件的资料名呢也不一样,你比如说有EPID,有user ID,有customer ID,有DEPTID是吧,它不一样,这个东西我们最好也能够自动获取,那或者呃不是呃最好是也能够动态的去获取。那么我们就想哈,你作为主,你主键字段呢,你在特殊你也你也是字段之一,我们刚才呢,得到了所有字段的集合,在遍历这个集合的时候,肯定其中有某一步呢,我们遍历到了。
01:15
遍历到了它的主键啊这个字段,那么我们就想哈,那么遍历每一个字段的时候,有没有什么办法呢,判断一下当前这个字段是不是主见,诶这个说到是不是呢?在我们Java方法里边,通常以意开头,我们发现哈,这里边还真有一个意思,ID这个方法。诶,我们这个时候呢,我们就把这个判断的结果拿过来,我们去我们去这个if里边去判断一下,如果它为真的话,说明啊,当前这个字段呢,确确实实就是我们主键字段,我们可以呢,把这个主键字段的名字。Get column给它拿出来,哎,然后呢,还有就是我们它字段的值哈,字段值也是这样一种形式的值,所以说我们也是用一下这个column holder。
02:17
哎,这个设计类的引用呢,也是使用record去引用,这些都一样,但是这个问题是啥呢?我们这回得到的这两个东西呢,是逐渐的字段名和字段的值啊,但是我们这样的东西的话,它能不能直接在这个if里边就直接去拼这个,嗯,Where词句呢,这个还不行,我们where子句的东西呢,你肯定不能放在set里边去拼,对吧,它它是它是到set结束以后才会去用到,所以说这个时候呢,我们这两个变量哈,我们在外边呢,给他声明一下。String ID column等于now啊,先设置为等于now,然后呢,Re ID holder等一到,然后呢,在这呢,我们去就用外边这个值呢,去给它赋值。
03:22
哎,在这呢,给它赋值,然后呢,在我们二这边呢,在这来用,嗯判。诶,ID column,然后呢点啊pen,哎,这样应该有个等号点a pen,哎后边是我们这个ID的后,诶这样就可以了啊,这是我们拼出来的这个威尔字讯。呃,那么这个里边哈,我们这个负循环里边还得需要注意,我们得改一下啊,有有些地方得调整一下,就是说呢,我们,嗯给这两个负值是在if里边,它们是有条件的执行的,而现在呢,这一部分呢,它是在外边,他们是无条件执行的。
04:12
是吧,那你这个时候呢,每一个字段呢,都会给拼到set子句里边,你现在呢,说明这个ID这个字段呢,也会给拼进去,这个其实是不对的是吧?我们set词句里边不应该对这个主键的值进行修改,那么我们这时候呢,就给这个if里边呢,If的后边哈,我们再加一个else,我们把这一套呢加到else里边,你要不是主键呢,才去拼到词后语句里边啊,拼到set set字句里边,你要是呃是主键的主键相关的字段名啊和它这个其他信息的话呢,我们就呃赋值给这两个变量啊,相当于缓存起来放到这个二去这边来用。
我来说两句