00:00
就大家一起想一想这个怎么做。呃,这个啊。这个。这边吧。反正信息填上去啊,有可能不填对吧,你点查询,有可能是填上了点查询是吧,反正这边呢,他肯定是一个什么呀JB啊。大家要注意了,跳到这个界面,有几种情况会跳到这个界面,你你就刚进来的时候。啊,你有没有可能是点的这个,你有可能点的是这边录入跳到这个页面上对吧,也有可能点那个查询再回到这个页面上。所以你点这个回到这个页面上,跟点这个呢,再回到这个页面上,它是不一样的,你点这个到这儿。
01:01
它这个里面是不可能有粒子的集合的。你要是点这个查询再跳过来,它可能里边就有就有什么了,绿色集合了是吧,并且你也看见了,这肯定是什么。是肯定是那个叫什么那个对象吧,这是个对象啊,这个对象呢,你看有什么信息。投资人登记编号。投资人名称。登登记日期国别经办人是吧,是查一下,就是这张表的T叫什么。Invest吧,大家想一想,你这个分页查询在这做过了吧?你就这样吧啊,你就听一个知识点就行了,哪个知识点呢,就说这个和这个呀,分数查询完全都相同,就有一个位置不一样,就在这的时候没有条件。一溜全查。是吧,那这就不一样了,这样的话是有条件了,但是这个条件呢不太好搞,因为这个条件呢。
02:02
他不一定个数是吧,有可能有有可能没有啊行吧,那我就。就写了啊,分院查询跟原先一样,说不了哪哪几步得需要做啊。你有对象就那个配置吧,用完之后那个配置需要干什么,需要调什么,总记录条数,Set total size。还有那个那个那个那个封装对象放到那个叫什么配置对象里,不是有个历子的集合吗?呃,还有那个搜索语句,那个通过业务搜来得到那个分页搜索语句的是吧,行吧,那我就先把图画一画吧,大概呢,这个图呢,咱们还是要画一下。啊,画一画之后呢,咱们就开始做啊来。好了,这边咱们给他。打开啊。有。没画呢是吧,他上午那个没画是吧,没画就不画了啊,那个新增没啥可画的啊,境内业务管理吧,有个什么。
03:05
登记管理是吧,有一个叫基本什么信息登记,企业投资人信息登记是吧,这边咱们画一下啊,来这个境内的下边有。没画是吧,来复制一下,这样的话,下边这边呢,我就给它点右键啊,新建一个包出来,来这是境内的啊重了啊名重了咱不用管啊,点OK就行了,来这边呢,咱们境内的业务下边咱打开这个吧啊现贷业务下边有一个登记管理,来我就直接建出来这个包了,开可以贴过来,再继续有一个基本信息登记啊来建包就行了啊,继续这边的啊,企业投资信息登记,直接建一个包还是包。
04:00
还是个包啊。这个包呢,对的是这个啊,下面有几个功能啊。三个功能吧,这个这个咱们是不是做过了,已经这就就不画了啊,这个草图没啥可可画的,咱画画这个吧,这个是不是也没啥可画的呀,这个不画了啊,查询明细就是不是就是查询语句啊啊根据ID嘛,查查出来就就封装封装对象存存进去跳就行了啊这边咱们看看这个这个分页查询投资人信息,咱们直接呢,就画一个得了sequence啊来直接双击打开,咱们这边的话还是这个外汇局的工作人员吧,所以咱们把外汇局的工作人员拿过来啊,这是外汇局的是吧,然后呢,Com k,然后呢分查询,So,最后是。J吧,来咱们看一看啊,嗯,大概画一画,他们看一看这边是一个什么,是一个那个叫分页查询投资人信息的,然后这边呢,它是一个什么。
05:01
最后你看在这点错了啊,在哪啊,在这点查询还回到这个页面上吧,所以这个时候呢,你看一下它是这个啊,把它复制一下给它放到这吧,放到这行就这样来,咱们往后拖一下。好,就这。好了,那咱们就来点查询了,点完查询就掉了啊,调完之后,首先第一件事是获取咱们封装什么对象啊。创建分页对象了,创建完分页对象之后呢?定义业务折扣语句,获取什么分页折扣语句吧,连接数据库吧,执行查询语句,返回结果集处理结果及封装对象啊,将对象存储到什么?那个配置对象的历史集合中是吧,查询总基础条数吧,然后关联总基础条数吧,就把总基础条数和那个配置对象是不是关联在一起啊,关联完呢。关联完之后,你是不是就是将那个什么,将那个配置对象存到什么request范围中,转发吧,转发就行了啊,转发这边整合整合之后返回去,你看这是还是这样啊,很简单,就是这几个步骤呢,咱们以前已经写过了,现在其实就是重复了啊,就是重复写,只不过唯一的有一点区别就是那个那个那个参数咱搞不定了啊,那个参数它不是一个了啊,这个地方有小窍门啊,咱们用一下。
06:25
来这边我就写一下这个吧,其他就不写了啊,这是什么?创建分页对象你想啊,我写上这句话,你就想象那个代码是怎么写的,明白吧,创建分析对象就扭一下呗。用new的时候,它构造方法得需要一个页码吧,你把页码传进去,那接下来你创建完之后,就是不是就得那个什么了,干什么定义什么,你肯定业务词和语句啊,那你有了业务生活语句,那你肯定干什么呀。获取什么呀?分页SQL吧啊,获取分页层SQL语句都获取到了,你想一想接下来就干什么?连接数据库吧,是不是连接数据库啊,连完数据库之后干什么?执行什么执行查询语句返回结果集干什么?返回结果集你还能干什么呀?处理结果及封装什么对象investor啊investor注意下这个investor是啥呀?
07:21
是不是投资人封装完这个对象呢?接下来怎么办啊?将将investor对象存储到。什么配置对象的什么例的什么集合中啊,你有这步啊,你肯定得存一下啊,然后呢。你看,创分页定义circlel,获取circlel,连接数据库,查询结果集,电力结果集,封装对象,把对象存到历史机构中,然后呢?查询总记录条数吧,然后呢,分页对象关联什么,分页对象关联分页对象配置吧,关联什么总记录条数吧,总记录条数好嘞,关联上去之后干什么,将什么分页对象配置存储到什么request的范围中,然后就干什么了,转发了吧,转发了这就行了,这就是步骤,你看一看咱们做的主要几件事儿啊,来,我来标一下啊,就是这个,这算一件。
08:32
是吧,然后呢,这个算一个事儿吧,嗯,还有就是连接返回封装把这个呗,这三件事吧,还有还有这个吧,你看四件事了,我们以前不是说过吗,创对象。分页测索语句拿到,拿到之后就是把那个数据放到历史的集合中,直接关联总记录条数转发在这个J页面上,我们就把这个配置对象取出来就行了,是这意思吧,行,我们一起来做一下啊。
09:08
呃,那这样的话咱们就不看这个了啊,大概思路就已经有了,有了之后咱们写代码就行了啊嗯,行,这是第22版本重点啊,动态参数查询啊,就是还是分页查询是吧,分页查询参数不一定像这种查询在在我们应用中是最多的。你想就这种没有参数的查询所有记录,我们这种情况用的是不是很少。一般都是根据查询,根据条件查的,你你将来你的系统中数据很庞大,那你说全查一遍,那是吧,所以这个东西呢,是我们一般是有条件过滤的啊,过滤呢,其实是想拿出我们想拿出我们自己有用的数据啊,是这个意思,行了,那咱们就开始来写一写,入手点在哪啊,怎么去入手啊,那肯定在一个查询按钮吧,你这一点查询是吧,咱们把这个拿到来,这是一个query。
10:09
你想你点这个查询的时候,它是不是一个表单,这是个表单吧,那这个时候是不是就会把这个条件,这个条件这个条件这个条件全都干什么发过去了,是不是就发过去了,所以咱们就就就给个表单啊对,所以这个时候呢,找找谁啊,哪个哪哪个那个文件呀,是basic了,是list来吧,你还记得吧,有印象啊,打开打开这个什么org什么list,打开之后直接在在顶端啊,在顶端你说CTRLF就行了,那就查找嘛,CTRLV嘛,给它贴过来行了,就是query了,查吧,这下这一下就定位到这个查询了,那这个查询的时候,你看这个后边有个有一个uncle click嘛,这个uncle click,你看咱们先研究一下这个吧,先研究一下啊,前面那个就删掉了啊,这个不用研究了,来看后边这个。这个来咱们简了啊,叫什么叫page query inv,叫分页查询我们投资人信息,那这样的话在上面是不是写一个方程啊,叫配置什么query分页啊,查询inv,那你想现在在这个地方怎么写,是不是这个代码,我再来试试啊,来alert看它会不会走啊,来看接下来我刷新,刷新之后我就在这边点点点点点那个点录入,点查询好alert了,好点确定,你看它就出来了,为什么?因为这句话的作用。
11:39
这句话我也得讲一讲。啊,首先呢,我们分析一下啊,凭什么在这一点啪它就出来了呢。为什么在这一点它它后边就出来了呢?这是怎么做的呢?哎,捋一捋啊DOCUMENT2是干什么的。来我来分析一下啊,分析这也这也是像咱们新的一些东西啊,你没有接触过的分析首先DOCUMENT2是什么,是获取整个什么网页中的什么杠元素。
12:18
返回一个集合吧,返回一个集合,该集合中存放了当前网页中的所有短语元素,啊啊,这是这个,那下边那个想必应该是ID吧。是不是个ID啊,查一下吧,行吧,查一查啊,来走,你看会发现有个tea body key body,有个ID the table body吧,嗯,大家看后边有个样式对吧,这个样式叫style display now。Style display now什么意思?这是不是t hide?这是不是table?Table里边有个头吧,有一个body吧,除了body,你看看table里面还有是不是有t foot tea foot是脚的是吧?这是不是整个这个踢body呀,从这个位置开始吧,到这个位置结束吧,这是不是一个踢body呀,踢body整个ID吧。
13:18
这个ID。它的默认样式是什么?隐藏什么意思?整个这个默认样式是隐藏的。能理解我意思吧,也就是最开始的时候你能看得见吗?看得见这个t body吗?看得见这个t body吗?看不见啊,但是当你点的时候,它会执行什么这段代码,这段代码呢?这个获取整个元素所有的元素,然后呢,这是个ID。拿到这个之后,就相当于拿到了谁。对T啊,来把这个复制一下贴过来。这个是啥意思?这是获取什么ad等于什么?找data table body的什么元素吧?啊,这里是一个什么key body标签吧,Key body标签啊,好,这是另外一种方式,我们以前是怎么获取的,Document点什么get element by ID,今天又讲了一个新的知识点,就是这么写,原先是不是这么写的,现在咱们不这么写,这么写也行,这么写也可以,三点on.table。
14:27
然后继续吧,Style是什么?来继续往后给它贴过来,贴过来之后呢,把这个style拿过来给它放到这点style,这是啥意思啊,这是设置什么细胞的标签的,什么细胞的标签的样式吧,标签的样式啊啊样式哪个样式啊。显示样式吧,来这是个样式的名字啊,Display是个样式的名字,Display是个样式的名字,来叫style点什么display,这是设置什么什么的样式啊,Display的样式就是显示吧,显示的样式啊,显示。
15:12
的样式。显示的样式就是隐藏或者什么显示啊,隐藏或者显示,所以后面写一个block就表示显示。如果你要写一个,那就表示什么隐藏。你看嘛,这不是他有个规律啊,这个规律你你找一找,你看看诶跑了哪呢。啊这吧,Display吗?那了吧,啊这也可以写什么block吧,好,如果它最初就是block是不是就是显示的,所以这个时候我关掉啊,我来打开看一下是不是这样的,来这边呢,嗯,来点它点完它之后点它点它点它来进去之后,你看它是不是默认就是显示的,但是我一点它能隐藏吗。
16:01
我一点它能隐,能隐藏吗?怎么隐藏,你想一想上面是不是可以写成那啊,那我试试吧,我点一下走,嗯,没了是吧,所以这个东西呢,你得会啊,这句话到底什么意思,得研究一下,这是lo行了,这个我们用得着吗?用不着吧,这个我问你是不是display也得删掉啊。这句话是不是不能留着了,我们现在是不是真的要做了,这是不是美工为我们提供的,来这边是不是样式删掉,然后这个TR是不是删掉,应该是留几个,留一个TR是不是就够了,哪个TR是不是这个TR这个吧,这个留一个就可以了,来再重新来点开它,然后呢,我们再点一下登录,点走走好,你看就一个吧。以后的话它就是个循环了。
17:00
能理解我意思吧,行,就刚才就是讲啊,讲了讲就是你你觉得这个陌生不陌生,我就挨会给你解解释一下,这是啥意思啊,这是啥意思啊,这啥意思啊,这就是啥意思啊,艾解释了一下,行了,咱们继续吧,我们的思路是什么来着?点那个查询之后会提交这个表单吧。点查询未提交表单啊,这是个条件啊,一共四个条件,我们来给他提交一下,所以这个时候必然要给一个什么。给一个form吧,行,我就给一个form啊,来给一个form好了,斜杠出来,斜杠叫page query IV啊行了,分页查询method post,然后这边的话我就写上去name啊,叫inv form,把这个减了,减了之后给它放到最后,为什么呀?因为你要提提交什么表单啊,把表单给我提交了,那这样的话点查询,点完查询不就执行上面的函数了吗?这个函数一执行不就提交表单吗?Document对吧?点2FORMS还是老规矩,就这么提交了啊,把这个拿过来放到这,第二叫submit,是不是提交啊,这就可以了。
18:12
来这边的话,咱们看一看,来点它这边我们刷新一下啊,刷新来点它点它点它点它点它,然后呢,我们点查询,嗯,是不是过去了是吧,他会把这四个条件发过去了,但是这四个条件我们看看这是四个框了,这四个框我们是不是应该改个改一改名字呀,看数据库啊,老规矩吧,打开打开你看一看投资人的登记编号是谁,是这个啊来一起看一下,这不投资人登记编号吗?来再往后投资人名称吗?根据这个查吧,登记日期是谁啊,是re date吧,所以这边我们就写了啊,这一共四个框,找到四个框啊在哪呢?投资人登记编号怎么写,不能写这个吧,叫inv number吧,这个最好还是复制啊,这个写不好,写不好叫能复制吧,是这个吧,放到这。
19:04
这是投资登记编号,大家还记得这是主键,这个主键在底层是怎么着来的?是是sequence生成的是吧,好再来。Inv name市场,这是投资人名称,然后呢,这个是什么?登记日期,那我这个登记日期,大家看看在底层是不是有开始和结束,所以这个时候我就叫开始的start date,结束时间我就叫什么是不是input in the date吗?这个sta data吗?行,就给这四个字段了,接下来呢,你就开始来拿谁拿它,把它复制一下好了,咱们就可以打开我们的web插班文件了,是吧?来打开插班文件呢,我们一起来提交一下啊,大家一起看一看。注意听啊,这个很有意思,来叫动态参数查询,这边呢,我们把这个从这复制一下,然后我们贴过来,然后把这个剪了,剪了之后咱们给它放过来,然后我们把这个复制一下,放到这,放到这,这个叫分页查询啊,分页查询page query inv。
20:10
啊行就这样,那这样的话,咱们把这个复制一下吧。没错吧,然后呢,就选中那个包啊,哪个包是这个吧,新建一个类啊贴过来,然后继承HTTP,接下来呢,我们在这重启个突破的方法来,我们这边叫动态查询查询分页查询投资人,叫分页查询分页查询投资人在这边我们重写一个方法,这个方法我们叫做都。Response。来这边呢,咱们就有思路了,这个思路不是在这画了吗,是吧。就这么做啊,来,我们一起来做一下。
21:02
怎么写这个?得获取查询条件吧,还有查询条件得获取一下啊,一共是几个呀,四个吧,来一个叫inv number,还有一个什么。I name有一个什么,还有一个什么,哎,行就就这四个啊,咱们拿一下,但是但是你要记住啊,这这四个是不是有有有可能是。是不是有可能一个都没写对吧?Get parater啊拿到叫这个IV number,好了,我把这个呢,从这复制一下得了,来复制一份啊,下边呢,跟上跟上跟上来,这边叫inv name,拿过来这叫start date,拿过来这个叫in date,好,我们一起看一看,这边加个断点,然后我们一起看一下啊,这个信息能不能拿到来这边呢,我们点它刷新,刷新完之后我们来。
22:04
行了,关了啊,重新再来他拿session啊,Session可能没了打开。刚才服务器是不是重启了,Session可能没了啊,Session没了出问题了,因为这是不是有session啊控制针啊,这就不看了啊,这边呢,我们来看一下提交了啊,一个也没写吧,走。嗯。Document。第二,Follows。INV。萨,没写错吗?点。加uncle了吗?这。查询。他件在哪来的,在这的新增后边呢。查询。啊,在后边呢,啊往下。
23:02
这边呢。找着了。这个查询写这个问题没走完呀,我底层加断点了吗。加了是吧。Query,后边呢,我这这就往后走啊,这个吧,这个没啥事啊。你怎么没走呢?刚才好像还走了来着。是不是俺乐走了?刚才测过了提交表单是是写错了吗?没错是吧,一提交走这个吧。走这个走这个啊,这个端点那的吗。有啊,哎,咋个情况。过来了,来走吧啊。
24:00
太神经了。这个。嗯。是不是是闹吗?不是不是闹啊,他不是闹那个这不是闹。这个是空框啊,你想一想,你现在是不是你这个是个框,你是个框你就会提交了,你只不过里边是不是没写东西啊,所以你你别以为它是none啊,哎,这个request get per这个方法啥时候返回now,这如果写错了返回now。明白吧,这你你你你比如说这写错了。你在那个网页那个表单里面有这个名字吗?没有这个名字,这是none吗?所以这个不是none啊,来咱们继续往后往后往后你看这都是什么,这四个四个空框啊,四个空框啊,你得了解这个东西行都能拿到啊来到咱们继续吧,这个怎么办?是不是配置啊,来存一个什么,是不是投资人想想这个币有吗。没有B啊,来咱们找个B,这边的话咱们建个B啊接过来,然后OK,这边呢,这是一个什么什么信息,这是是投资人吧,来投资人信息啊好了,这边呢,咱们看一看吧,怎么封装这个信息呢?这个其实也很重要啊,把这个打开吧,你这不是有那个投资人吗?哪个来着,这个是吧,你把投资人拿过来,然后呢,给它放到这,那这不就还是那种方式嘛,是吧,但是呢,这块呢,我们来看一下啊,需要添加字段,还是不需要来一起删掉。
25:32
这边呢,咱们加上去叫做private string,这边呢,我们加一个什么分号好了,这边呢,我们给它格式化一下,点右键生成塞盖的方法,OK,好,大家看好像写完了,但是你少了一个,你会发现在这个列表中呢,其实还有一个东西叫什么经办人,经办人的名字在这个里边,不是名字,是一个code。
26:00
希望在这显示的不是用户代码,而是一个什么用户的姓名,明白吧,所以这个时候呢,需要表连接对吗?一张表能查询出经办人吗姓名吗?哪张表有姓名,是不是用户表里边有name啊,而这个user code和这个user code是不是表连接条件,把这user name是不是放在这就行了,那这样的话大家想想是不是在数据库里边,我们这边应该再加,我们在这个这个加个程序中是不是要再加个字段啊,因为将来的封装这个信息吗?来点右键S的方法啊,生成OK就行了。就加一个额外字段啊,加一个额外字段行就这样,那咱们这边的话给他存进去,你有一个什么配吧,Investor啊存进去好了,这边给它加上去,这是一个什么对象啊呦,还没完呢。我刚才是点了好几次。又过来了。太讨厌了。来,走吧,结束吧啊。别管它啊,这边呢,这这这个这个这就是有问题,这个来写上,快点get什么看是页码吗?是不是页码啊,页码拿到了,条件有了啊,这边我写上步骤啊,这是获取什么查询条件。
27:15
啊,需要注意一个问题啊,request.get parameter该方法啊,这个方法什么时候啊,就是什么时候返回,那什么时候返回什么空字符串,明白吧,这个一定要注意啊。嗯,行了,下边的话这是创建什么对象,创建什么创建分页对象吧,好,大概步骤写一写,有了之后怎么办?是不是定义什么业务词汇语句吧,业务词汇语句是不是把这业务词汇语句定一下啊好定义完了写完之后怎么办呀?是不是获取什么分页SQL语句吧,怎么获取分页搜口L语句了,配置点盖的什么circleq吧,是把circleq拿过来是是不是就拿到这个分页口语句了?好拿到分页搜口L句怎么了?连接什么叫连接数据库吧,填数据库来connection吧,来connection啊这边查就行了,Prepared statement,然后我们等于那好了,这边的话怎么办呀,有没有结果集。
28:25
有吧,结果集拿到,拿到结果集好了,这边怎么办?Connection等于DB.get connection吧,再加上啊这个步骤的还得重复一下啊来再加上finally,再加上d.close然后给它关了,关了之后就查询,怎么查询啊这个四后语句。是不是有了,有的能编译吗?是不是编译这叫所有语句啊,那编译了,编译完之后要不要给号赋值,这不有没有问号,负赋值有没有啊,有可能有问号,也有可能没有问号,对吧?注意啊,可能有问号,也可能没有啊,可能有问号啊,也可能没有啊行吧?那么接下来点号复值之后呢,该干什么?执行什么查询,返回什么查询结果集吧?啊查询结果集你想一想,查询结果集有了怎么办?点excuse query吧,然后便利结果集对不对?电力结果集封装什么?是不是这个叫investor对象吧?啊,肯定是对象来外要循环吧。R点什么next吧怎么办呀?疯峰对象investor inv对不对?这是投资人啊,用一个什么investor吧,用完之后你想一想,这个investor需要设置什么值,这需要什么值就设置什么值,哪需要啊,这需要什么?
29:47
个人登记编号还需要什么,投资人名称还需要谁登记日期还需要谁国别和经办人,所以这边的话怎么办呀,咱们直接就设置这么几个值就行了,v.S什么inv r number一个对吧,还有v.site什么RV name一个,还有一个是就是那个Inv.S什么。
30:07
RA data是吧?还有哪个an塞什么C是吧,火笔还有那个塞什么?就是name吧,是这个吧,你想就这几个吧,结果题里边能取它吗?是不是在结果题里边得查出来这个得有它来这边呢?这边结果集里边来查出来啊好,这边呢,登记日期是不是结果集里边有啊,这就取出来就行了啊,这个代码你可以先写了啊,不一定你不一定非得把这个词索句写出来再写这个这个都可以先写的来给它剪了,写完之后呢,RS.get啊,这边给它拿过来,那这样的话,这个对象有了之后,你配置吧,点get的什么data list,点什么ad吧,是不是把这个IV存进去啊,这样的话就相相当于将哪个像像什么投资对象存储的list的集合中,你想想做了几件事呢?第一件事是什么创对象,第二件事是什么得S语句,第三件事就是什么加到历史的集合中,第四件事你别忘了,就是什么关联总记录条数吧,是不是还得关联总记录条数吧,所以这边的话还需要一个词后语句啊,所以这个咱们一会再写,接下来这边怎么办啊,将什么将分页对象存储到什么request的范围中吧。
31:25
然后接下来干什么了,转发了啊,就是转发了,行了,这request.set存一个什么page吧,是不是page啊,存进去就行了,接下来在这怎么写request.get requestten点直接forward了吧,好,那这边这个路径怎么写杠叫basic in inform杠。你就复制就行了,你是不是这个页面。还是他吧,哪个页面来还回到哪个页面去吗?那接下来这个能写了吗?
32:00
这个JP是不是最后要显示动态显示这个信息的,能写了吧。你这块能写了,你就不用顾忌什么,你就先写JD也行,这块呢,一会这个SQL语句怎么处理的话,咱们一会再说啊,你只要有了这个S语句,这个S语句是不是就有了啊,这边也封装了总计条,一查查就完了,所以这个时候的话,你的开发的总体有一个思路啊,好了,那咱们来看一看这个例子的集合。这边便利怎么便利,嗯,我直接写了啊,这边request你看在前边不是有一个类吗?这个类不是掉了这个setribu吗?不是存了这个配置吗?所以这个时候我在这能不能取啊,点get attribute取什么,是不是就是那个配置啊,但是你一定要记住啊,这个配置有问题。有什么问题?有没有可能等于空?导包前面那个导包好,我问你前面这个配置有没有可能等于空。这个有没有可能等于空?
33:01
什么时候这个等于空?当你点录入的时候,等于空。你点那个录入的时候会跳到这个页面吗。你跳到这个页面的时候,你你你你分页查询了吗?你只有点这个分页查询,是不是才分页查询啊,你这个点这个录入是不也是跳到这个页面,你点完查询是不是也跳到这个页面啊,所以你要想象这个request调get吹的这个方法,拿出这个配置有没有可能等于空。有可能吧,所以这时候判断一下,如果它要是不等于空的话,这说明一个什么问题?如果配置对象它要是不等于空,那这说明它一定是从哪蹦过来的。它是不是一定是从这个泪里边蹦过来的呀?是吧?所以你你要知道了,这个东西不等于空的话,你就怎么办,是不是给值了,有什么这个吧,有什么配个size吧,还有什么page comes吧,还有哪个photoside吧,这一些都都得有啊,有没有历史的集合,是不是有investor吧啊叫en,什么env list的吧,这都有了,这边打包啊,这个打包来,这个没有咱们打包吧,行了,那这边怎么办,这个怎么过去你不是已经有了吗?有了你就这个掉呗,点什么盖盖什么叫page number吧,拿就行了,这边呢。
34:19
这边的话你就直接掉get,可get是吧,这边继续掉点get,可count继续掉get.total get,这边掉get get list是是不是就这样啊,但是要注意啊,这个东西的定义呢,因为这些变量在外边要用,所以不能声明到这个大括号里边,所以应该把它干什么。是不是统一都放到外边对吧?放到外边的话,还有一件事需要做啊,什么事啊,都给它写成什么空吧,是不是捺捺啊,来复制这边的接过来,这边的接过来,这边的接过来,实际上可以给个什么,给个零,给个零是不是也行,给个零吧啊这是不是给个零啊,这个可以给个呢,给个给个闹吗?啊这个大家能看懂吗?就是我啪啪啪都给出来,给出来之后干什么,如果它不等于空,我才给这几个变量赋值,能听明白吧?来接下来把这个干什么?删掉,这个删掉啊,这个删掉下边这个删掉啊,下边这个删掉,这能看懂吧?好,这一系列就封装完了,这个呢,给它拿出来之后,下边你想一想,这个for相关你是不是不能贸然写。
35:41
有没有可能那个历史的积额等于空?你想想上面这个东西等于none吗?它等于none是不是就意味着如果条件不成立,这个是不是就等于none这个,所以你在这儿呢,做之前啊,你一定有一个需要做一下判断什么,它要是不等于none的话,是不是才有必要去for循环,For循环investor inv list的循环,那这样的话封起来,这样的话封起来,来封完之后,接下来你就可以按照我们最原始的那种开发方式了,直接把下面T剪了吧,减了之后放进去吧,来我们放进去,放进之后呢,整体给它缩进一下吧,来整体给它缩进一下好了,这边呢,我们一起看一看,这有个什么in类型,I等于零,然后接下来我们在这写什么呀,每循环一次,在这儿有一个什么。
36:31
加加I吧,加加I来继续这个怎么办?这就是头跟登记编号吧,Inv点盖的什么INV2NUMBER吧,嗯,写错了。写错了啊,往后再来点get number是这个吧。是吧,这是什么?第三个,第三个是什么你不知道,就看这第三个是什么投资人名称,所以这个时候的话,你就直接就Inv.get什么就行了,IV name吧,哎,这个是登记日期是吧?这个登日期咱们好说啊,就直接inv点盖的什么RG date吧,这个美国呀,这是国家吧,国家in.get什么C吧,这是country嘛,接下来的话,咱们这边的话写上去,这是一个经办人i.get username,你看这个username属性是不是。
37:21
有必有必要提供了,你知道调钙的方法是吧?嗯,这样就行了,好了,你想想JP你这边是不是基本上就搞定了。当然你还没有搞定呢,这是不是还没搞定,这是不是还没搞定啊,行,这个先不用管,你只要先把这个展示出来就行了,行了,这边的咱们处理一下啊,来讲了半天都是重复东西。有一个知识点我要讲一下什么东西大家注意听了啊,就是这个位置的思考语句怎么拼。嗯。
38:00
这四个语句怎么拼?12344个条件有没有一个条件也没有,有情况是吧,有情况是这个一个条件都没有的,那是最简单的,但是如果还有四个条件都有了,还要有一个条件的,还有有两个条件的,这边的怎么怎么怎么怎么写,先咱们先写最原始的吧,一个业务词汇语句是怎么写的,业务词口语句来,你需要谁,把这个复制一下,直接啊放过来,放到这啊,大家看一看,他需要的数据是这些数据。几张表表连接序号不用吧?投资人登记编号、投资人名称、登记日期、国别、经办人两张表连接哪两张表?T invest是吧?T用什么来,怎么写,Select什么。
39:01
投资人登记编号,这张表我就叫艾了,这张表我叫U行吗?怎么写?I表取什么I is numberone,好,继续,别写错了啊,这是什么?I表的ii点的inv name吧后,后边是I点什么RG get吧i.C是吧。经办人的话是什么?是U表吧,U表里边有有一个什么your name吧,From t invest join t on,爱等。U扣的等于U的,U扣的是这样吗?来order by啊排序一下,经过谁排序啊,咱们靠谁排,咱们靠这个排行吗?按它排序啊,按照它来排序,I表里面的IV2NUMBER边来排序,或者按按日期也行,按日期吧。按日期来排排一下啊,要不然就乱了,好这是这个,这是不是最原始的那个SQL语句就有就有了。
40:07
咱们试试啊,这边的话,我如果直接写他的话能查出来不能。没事吧,应该能执行的吧。关了啊来我点这个点这个点这个点这个点这个OK,把服务器启动,启动之后呢,咱们一起来测一下,看这回它能不能点来咱们打开,打开之后呢,我就直接点登录了啊,登录之后呢,我就点这个点这个点这个点这个点这个首先过来了,过来之后呢,这边呢,是没有东西的是吧,我点完查询。看一看啊,他说一个错误发生在JP的第18行,18行是这个啊,Paid object get get paid card这个值还是不行。总经理条数没有。因为总记录条数没有的话,这个这个总页数是不是计算是就有问题了,怎么办啊,咱们给给他个冒牌的吧。
41:03
行吧,给他个冒牌的啊,配置点赛total赛总计调是多少?100个吧,行吧。行吗?冒充一下啊,要不然那个值是不是没有啊,来应该行了啊,嗯,点点查询。还是这行了,再来一次啊,这边呢,他可能没进去这个值,嗯,我加上去之后呢,我再重新来一次。走走点点点完之后点。还是第18行。这需要部署一下,非得让我部署是吧。来洗一下啊。来空指针啊,看第500行什么空指针什么玩意。
42:04
置啊56配置看一看吧,这个东西呢,现在呢,它不全的话,第多少行他说。56在哪呢这啊。嗯。哦。He size photo size。
43:00
Hey。Guide搜索。进来了吗?我感觉没劲了。
44:08
刚才他没报这错是吧,刚才他报的不是这个错了,居然啊啊。啊。乱写是吧?这就属于粗心了,没重明明白。再来一次啊,行不行的,再试试吧,走走走走走走走走走走走,有了吗?有了啊,这次有了,这是什么呀,这。诶关联了吗?关了啊,走了这就行了啊,这边应该没问题了。是吧,关键是现在啊,咱们这是是没有条件吧,你这没有条件啊,你这个程序现在没有加条件,你加上条件的话,你就过滤出你想要的数据了,关键是这个条件没起作用,现在。
45:07
啊,总体分析是行了,而且还有个冒牌的啊,就是总就是总计术调是冒牌的,咱们那个到时候呢,给他查一下吧,那到时候再说吧,现在呢,咱们大家呢,就集中精力啊给处理一下这个东西吧,这个拼词汇怎么拼?怎么拼上它是不是得判断一下要拼串的话,哪个效率比较高,Build吧build啊,溜出来磁砖build吧,好的,这边给它括起来啊。这就是那个string build了,接下来你就拼串就行了,怎么给这个circle语拼出来,这个circle语报错了,意味着需要string吧,这边是个什么类型,String builder吧,点什么to string吧,这就行了啊好,这边呢,拼框怎么拼框判断一下if咱们判断吧,这个东西呢,咱们就认为啊,它有可能等于空,或者它不等于空,并且它的点tri.lis不等于零,如果这个条件能成立的话,这说明什么?
46:10
它不等于空,并且呀,它的垂,它的点认啊,它还不等于零。这说明他提供人家提供这个条件了吗?是不是提供了,你看啊,写这么长比较烦人,所以我决定了我提供一个方法啊,一后我调一个方法就行了,这边不是有个工具类吗?有个string吗?这个string u就在咱们这提供一个方法来public吧,是不是公开的。是不是静态的返回这个这个这个罐类型行吧,叫is not empty行吧,好不为空,这边呢,你只要传一个什么就行了,你只要给我传一个这个这这个这个这个这个这个这个字符串了,嗯,字符串string啊,你只要给我传一个字符串,你给我传一个字符串啊,我返回这个string啊,这个string啊,要是不等于none啊,并且什么呢string.t点什么length,要是不等于什么零,那这个时候是不是就访问数了。
47:08
好,这是判断什么?字符串是否为空啊?这是字符串吗?返回处表示什么意思啊?处表示不为空啊啊,False表示什么为空啊?你现在叫is not吗?你就这么判断就行了,行了,那你就这样用起来是不是就方便点了,不用写这么多了吧,怎么写啊,Strange u.is not em,谁。看他如果不为空,咱们这个是不是得有四个判断。来第二个是什么inv name干什么不为空?Start date不为空吗?N date吧,好,那这个不为空怎么办?加什么?最后点嘛,追加吧,追加什么。
48:04
你想这个条件不为空,就是说哪个框它提供了,这个框它是不是提供了,提供这个框怎么办?这个词是思空语句,应该追加什么东西。加哎对对对,加where啊,这边加上where空格吧,因为你上面这个so,这是不是没有空格,所以加空格啊,空格where。为了什么?V number等于问号。是吗?如果他要是提供这个条件的话,这个思后语句需要不需要加这么一个条件,如果要是用户提供了投资人登记编号这个选项提供了,那是不是就相当于我们需要在思后语句后面加一个外条件判断inv number等于。是这个值吧啊。好。能看懂吗?
49:00
将来我们要不要给这个括号赋值,需要吧,现在你先不用管什么给括号赋值的事,你就先给我把思考语句拼成拼完全了就行了,其他先不用管啊,行了,继续吧,这个怎么办啊?这个这个要不等于空什么意思,要记住啊,这个不等于空,是不是代表他投资人名称提供了,但是你还有一点需要注意,有没有可能这个没有提供,但是也英文这个提供了吧,这这这怎么这怎么判断啊。如果它要是不等于空,并且把这个复制一下,我要是粘过来。它不等于空,而且这个也不等于空。那那就加加加and呗,加and啊,这边是加and吧,好来and什么。I name I怎么办?是不是加坏呀?是叫外人吧?你想挨饿死了?你看啊,这俩条件并合合并在一起,就像就相当于什么,就相当于第一个框。
50:05
不是空的。而且第二个框呢,它也不维护,那就是暗的吧,那要是如果这个第第第一个框是什么。第一个框它是空的,那else嘛,是不是代表第一个框是空的,那这样话是不是加M的呀,所以这这块把它复制一下啊,直接加加过来,把它加过来放到这加什么对了,好继续怎么判断,这这怎么判断。我先讲一种最笨的办法啊,这种办法呢,其实我们在开发过程中是不会用的。行吧,我先讲,先讲最笨的啊,来开始怎么怎么走这边的。咋判断啊?它不等于空。并且啊,来往下走啊if吧,如果它要是不等于空或者吧。或者你只要有一个不等于空,这这这这这是不是就就肯定可以确定是加暗的。
51:03
就这这种逻辑你理解吗?就是这个不是空啊,第一个不是空,或者是这个第二个不是空,那就把那个where是不是占住了,那就我加and就行了吗?怎么加。这是第几个框呢?开始日期第三个框and re date大于等于问号对吗?这是那个表的字段吗?开始日期不是有开始和结束吗?它不得大于等于问号吗?就是你要保证现在你是拼词后语句,你并没有给问号负十听清楚了吗?你现在是拼词后语句呢。再往后怎么办?把这个复制一下吧。哦,对了,这还少一个else else就知道了,这还是加什么,是不是加where啊,加where好了,这加上去继续。
52:05
这个怎么办呀?是把这个复制一下贴过来吧。怎么办,这个L吧,来这个不等于空,或者这个不等于空或者什么。只只只,只要有一个不等于空吧,只要有一个不等于空,这这一定是加什么加and吧,所以就就就就就来呗,复制吧,就贴过来了啊就直接就按了按R级date小于等于吧,是不是结束日期吗?来把这个干什么,是不是复制一下贴过来放到这。那这边怎么办啊,是不是where啊,那就是Y吧,好,有没有可能一个Y都没有呢?有可能吧。有没有可能一个where都没有,有可能这全是空的吧,Y都没有,其中有一个的话,Where是不是就肯定是存在了,那如果有两个的话,它肯定是Y加的吧,如果有三个,那肯定是一个Y2个暗的了。是吧,所以就这样推就行了,但是你这么开发的话啊,还有一个问题啊,I name这块最好不要等,就like就行了,模糊查询大家学过吧。
53:07
行吧,叫like可以吧,好,但是这个最后一句肯定是会有问题的。还有一个问题。好,我问大家问题,Re,在这两张表里边是不是都有?我们现在是从两张表连接,一个叫投资人,一个叫用户,在这两张表里边有一个相同的字段,而这个字段的名字都叫什么?Re,对吗?如果你在写个r date的话,它是不是分不清到底是从这张表里边看,还是从这张里边看呢?是不是将来会出问题啊,要不咱测一下行吗?测一下看出什么问题啊,来我点这个给他起一下,直接起吧,这边呢,我给它关了啊,大家看觉得会出什么错,这个错呢,也是非常重要,大家一定要记住啊,所以每个里边都有新的知识点吧,算是来点点点点走来这边填上吧,开始的啊,开始的话随便选一个吧,这个选选上开始。
54:09
然后这边呢,我选上结束,然后点查询。好了,大家看一下哪出错了啊。怎么又是56号。啊,应该是五六啊,因为上面还有错误啊。你看。索引中丢失in或者out参数,诶这个应该不是这个啊,不是这个错。应该是另外一个错,应该是不明句的列。怎么一个情况来。咱们这边再重新部署一下啊,怎么感觉不起作用。嗯,我就把这个加上去啊。
55:01
把这个加上去得了,就加一个日期得了啊,我在这加上断点,我试试啊,看这个思考语句能拿到不能来这边呢,起完之后呢,把它关了再重新来。关了啊,再重新。打开。现在我看一看啊,是怎么个情况点它。点这个点这个点这个点这个啊,点这个啊,点查询过来了吧,这个思口L语句,我想看一下思口L语句是什么,是这个SL语句。你这个对吗?最原始的看最原始的啊,最原始在哪呢?在这个里边呢。没加上是吧。没加上吧。啊。
56:01
啊,糊涂了。没写,这是开玩笑啊。我说怎么没加上呢,再加一个啊,就加就加这一个吧,行吧,就加这一个啊嗯,再再再来查询我看看啊什么情况是有一个分页。这个这回加上一个吗。是这个吗?行就用这个啊。行吧,那我就往下执行了啊,直行直行它能执行吗?你觉得。走啊,有异常是吧,有异常我就往下走,看看这是什么异常啊。嗯,还是这个错,索引中丢失in或者out参数。这个里边怎么情况。还得附上值,还等问号负上值,这个没法测是吧,这样吧,咱们一会儿再再说吧,还没还没有给问号赋值,所以会报这个错吧,还没有给问号赋值啊,所以咱们现在的话。
57:04
嗯。要不这么着再测一下,把这个日期这写上能吗?就把这个日期,就是刚才这个日期。咱们就给它写到这。行不行?就写这一个。管他日期一样不一样的啊,就这么着吧。我想测一下,就是这边报个错,我想讲一个知识点,你看整半天讲不了。来咱们走吧,关了啊,我看一下这个r data的啊,会有什么后果,这个打开打开之后呢,我就点一下啊登录,然后呢,我就点这个点这个点这个点它没有值啊,点它这个选不选都一样了,选上嘛,选上不为控制才会走那个义务语句啊来走查询查询的话,这边呢又过来往下走往下走走走走走走。
58:01
来看这次犯什么错啊?有70有括号的。诶。看一看啊。
59:10
来咱们看一下这个思考语句,这个思考语句是有问题的。这样是没问题的是吧。我如果再加上一个条件,随便加一个走走的话,他要过来,过来之后再往下这个思路语句,我再看一下。ARC复制CTRLCTRL执行。没有时间。他这个走了吗?该走了吗?啊,不是这是这啊,开始时间是这个吧,他没走。
60:03
不应该啊,走。过来了吗?诶。走这了吗?很诡异啊,这个来结束吧,啊,这边再来,我把所有断点全删掉,我只测一个位置啊。哪个位置呢,我就测这个意思语句,这个日期吧,是这个日期吧,这是开始日期吗?点住啊,我看他走不走走走走进来就行了啊,他走不来走不进来的,这这项盘有问题那个。来走吧,那点吧,点完之后看看过来了吗。过来了是吧。那加个呗。Where啊,往下走,那这个词口语有问题吗?这这个这个对吗?这个。没啥问题了。行。
61:02
哎,这个word怎么放到这了?哦,可不嘛,这是写啥呢?还有哪有问题啊,先Y啊先去了吧,Y先去了吧,顺序吧,算这Y的话加上去,咱们到最后再加吧,加到加上点我看看啊,给你加到这吧,这个这个这个还是得加啊,最后加一个点啊这个思后句改一下啊,咱们这块呢,把这个说完啊思后句最后加上排序啊,加上排序段,加上排序字段啊这块呢,咱们加一个叫那个空格吧,什么来着,用I表的r date吧就是。Older older five,哈,行了。你这样去吧,对吧。这一下应该没问题了吧。再问啊。看行不行?测啥呀,姐,别走。
62:04
走走,行了吧,这回也不一定行。哎,怎么还不懂了呢?怎么半天不走了?来布置一下,我先测一下。行走。等我啥时候不错就好了。来。再点一下啊,挤一下。不错啊。不测了,这车太没意思了。来清了。来。有的时候啊,越心急啊,越想说一个东西就是越容易出错,好这个肯定没事吧,我点上啊点上来点查询。
63:01
还是那问题。行是吧,我就是想讲这个啊,我明确概理行了,咱说一下啊,结果这个加吧给加上吧,什么样I吧点啊I点这个必须得加,因为这个字段的话,在那个那个用户表里面有没有啊。你得加上啊,这个你得加上去,你要不加的话就出问题了,就就是这个异常了,就为明确定义列啊行吧,这块再再再试一下这块没事的吧。行了,咱们再起一下啊,起了之后呢,咱们这边呢,点就就这么一个知识点是吧,来点点点上之后点查询。那行了吧,那这个时间呢,就时间不对是吧,是写死了啊29。行了啊,没问题,但是呢,要注意啊,你既然写的话都写上吧,是不是都写上挨点啊,挨点好了,来这边的挨点吧,挨点啊这边呢,挨点吧,这边也是什么点,和那个用户表有关系吗?没有啊,全加上行了,那这边就没问题了,还有一个事儿啊,咱们不能这么写啊,这么写代码不行。
64:16
代码这么写是不太费劲了,又是判断什么Y,又是判断什么暗的,咱不这么做怎么写?我就讲一个语法啊,在后边加个where,等于一把where关键字占住行吧。占住where关键字,剩下的东西你就不用判断了。直接怎么写就行了。全部加什么。行这就可以了啊,来一起看一下这个的,还咱们还是改成什么就行了。
65:00
问号了,问号啊,上面这边呢,咱们看一看,这个还是改成问号啊,不写不写指令写成问号了啊,这个呢,我就给它改成问号啊,这边呢,大家看一看这样的词后语句,嗯,这个还是打开啊。这边呢,我就写一个思语句,大家就理解了啊,这个思语是这样的,Select星from t向U点啊,WHERE1等于一和这个select星from he下面有点啊这两这两个语句一样吗?来执行是吧,来执行。知道吧,啊,没有区别啊,所以把WHERE1等于一占住,这个目的就是为了占一个关键字。站住关键字往后就只能加什么了,And啊,所以这样的话是不是就不用判断了,就不用判断了啊,直接写and了,And了,And只要不为空,就一定是什么and没有where了吧,Where是不是在这站住了,站住了啊行。
66:06
行了,这几个咱们先到这啊,还没完呢,有一个重点没讲啊,给问号复制时没附上,没复呢啊,你先休息下吧。
我来说两句