00:00
我们先完成第一个功能,显示所有的员工信息,那我在数据表里边的话呢,先加一条记录一可能不是一条了啊,几条记录吧,1AA AA at163点看。B。Great time。ID。好的,二。BBBB163点。关键时间,当前时间跟这还是有一些不一样的啊。选一个四这个不要了,好刷新行,要没拿上TB艾163的啊。
01:23
保存刷新,嗯,BBBB@163.com选一个时间OK保存。刷新为啥得一个一个加呀,BB保存这样写。太费劲了,再保存再刷新行好,现在的话呢,我想点一个链接,把所有的员工信息都查出来。
02:11
好,那来吧,搞一个inex.JXP搞一个链接a Frank e list是不是需要建一个list的方法呀?来写list on employees,显示所有的员工好,这说明什么?这说明我这里边我是不是得搞一个的方法呀。继承action control1加进来puic。
03:03
List return。List所有的,那光这样不行吧,不得有service吧,我得有DAO吧,得一整套啊是吧,我要显示所有的员工信息,好的,于是的话呢,我们先来写DAO,看着哈DA,我这个DAO呢,叫employee employee deal,这里面的一个方法叫public或有获取所有的employee。Now,好了,那员工的这个in employee的话呢,我需要搞一个分工西了呀,搞一个三三对吧,我们提供一个三的方法,然后再提供一个获取section的方法,Get section怎么获取来着?this.section点什么?Open还是get current呀,Get current,因为我需要用事物好了,这里边如何获取呢?String hql等于from就可以了吧,嗯,貌似是可以的,看三点,Create current sql.list全部。
04:56
写完我们边写边看看有没有问题啊,搞定,然后呢,这个需要搞一个employee service。
05:14
Privatebo。Do,好的,That public list in。哦,好了,我们这里边的话呢,实际上没有什么业务,就是由service直接调的dau是这样吧,嗯,但是我们回头写项目的时候,它是有业务的啊,这就是一个案例演示嘛,写完这个写完之后的话呢,终于可以到X了吧,来吧,Private employee service。S。
06:01
Employee service,然后我获取完所有的employee之后,那employee list是放哪个里边?请求域吧,请求域吧,我在X里边,我怎么去搞那个请求域啊。啊,实现哪个request the where,对,CONTROL1加一个,它进来好了,Map string object request,再来x.request等于二,零,然后写上request点。Employees,然后是employee service.get off可以吧,这样的话呢,就到页面上,但是我们这个B呢,还没配置完,这个B我来配一下。
07:09
并这个。先来搞定。Employee有一个属性property reference有一个问题呀,这玩意咋进来呀,他俩是不是在不同的配置文件里边啊。好的,在不同的配置文件里边,于是呢,这个里边在启动的时候啊,就得是多配置文件,我写个星看到了吗。形成充配啊,这个时候它也会加进来,然后它们是同一个LC容器,所以说我这个里边我可以来使用这个section单机再来ID class employee。
08:13
Property吧,Reference。Employee service。这叫employee service employee service行了,这样这个配置的话呢,就配完了。再回到我们ru two的配置文件。那你得写一个结果呀,Result name叫list来web for下边的ERP。
09:00
list.jp写一个哈,CTRLC过来。写一个页面,Web info。有一个views。下边新建一个页面。好的,然后呢。啊,我这个页面是不是8859呢,这里边我可能需要需要加一些注释什么的,所以说而且也需要显示中文,这个我先删一下。修改一下。字符编码引hold顶JSP吧,改为UTF杠八。在哪新建?卷next finish,好的,首先呢,我需要导入strong to的标签SS,然后怎么的,有没有新信息,Employee list有没有这个什么呀,有没有这个流工信息还不一定呢,就是万一是空呢,你得跟人说一下可能是空,于是我先判断一下吧,S if,如果request范围内的employees本身就是空,或者是啊,request.is.size等于。
10:59
零是不是告诉他没有任何员工信息啊,没有任何员工信息,否则我拆开打印的吧,还有一个table。
11:15
FO1SELF finding1self facing010。PRPD。好了,第一个的话呢,是ID,第二个last name。Email。Create I还有一个叫部门吧de PT行,然后怎么了?变历吧S和ER是吧?Value怎么写?Request范围内的employees是吧?多少个取决于这个集合中有多少个元素PB。
12:15
很爽的事开始了,来,第一个叫ID,第二个叫last,第三个叫email,下一个叫first,下一个叫great time,下一个叫点department,你是这么写吧,干掉好这个写完之后的话呢,我们先看啊,先看好不好用,那整个这个OK了,整一下子吧。找来。嗯,没问题,来看着哈走。
13:09
A啊,什么问题啊,这什么不能够进行初始化代理吧,没有session,像他的时候,这是不是非常常见的一个异常啊,为什么会有这个异常啊,为什么会有啊,嗯,看页面,看页面我是不是需要去显示这个部门信息啊,而默认情况下,或者说我DAO里边我写的时候,我是不是只查了employee啊,这个时候那个部门是不是一个代理对象啊,是吧,部门是一个代理对象,然后的话呢,我现在这个事务是不是作用在service维上面了,导致着这个方法开始之前获取session开启事物,这个方法结束之结束之提交事物关session了吧。
14:09
关三审了,你在页面上你再去搞这个代理对象是不是没有了呀,于是出现了这样的一个异常,听懂了没有,再说一遍啊,再说一遍就是说我现在的话呢,我这个事物啊,是用在思维方法上边了,这个service维方法执行结束之前关session,而我现在DAO里边的话呢,我只获取了employee,其关联的department是一个代理对象吧,这个时候我要对代理,我要获取代理对象属性的话,获取不了的吧,所以说暂时先这样看一下,来找一个。哎呀,还是不行啊,那于是呢,干脆省了不门,嗯,这个好了。
15:08
大家看这是我们希望看到的这个结果吧,部门这个差一点怎么办呢?那不能差着呀。大家说说我可以怎么解决这个问题,我可以在获取这个员工的时候,顺便把这个部门也获取来吧,1.department。是这么写吧,叫迫切,左外链接还记得吧,再瞧。走是不是好了啊?这就是获取所有员工的信息。好了,笔记简单的说一下。
16:09
来完成功能。我们说的第一个过去所有。的员工信息,整个的话呢,从SSH过来没有什么特别需要说的,但有一个需要注意的,如果嗯,Do里边只获取employe的话,在页面上会发生。懒加载异常啊,在DA中。只查询。跟高一的信息。然后呢,而且。
17:00
Employ和还是使用的懒加载,哪个懒加载呀。这里边吧,这里边我这个默认是不是懒加载啊,Lazy是处吗?你把lay改过来也也可以,在这两种情况下的时候,然后页面上还需要显示员工信息,员工信息此时会出现懒加载异常,然后呢,这个嗯,代理对象不能被初始判解决方案。有几种方式大家出来,第一种我们可以打开来家看,这样可以吧,这肯定没问题了,我打开了呀,我在获取employee的时候的话呢,然后它关联对象也同步获取试试啊,这个拿掉我们知道这个拿掉肯定不行吧,这个终能看到,这个异常还是会发生的。
18:28
刷新。还有这个异常吧,要不能初始化代理对象,因为没有三就是这个异常,CTRLC。出现这个异常好了,这个时候呢,我让它变成懒加载,关掉VC是boss这角。
19:05
走好了吧,那这个时候很很明显这个字布局是不是多呀,对吧,我得在获取employee的时候,把每一个department都进行初始化,而且这么做的话对性能影响也比较大吧,我就需要EMPLOY1,我不需要department,他是不是也弄出来了,所以说这种方式不推荐。啊,不推荐使用,不推荐使用好了第二种方式什么?获取employee时使用破器左Y链接同时获取,同时初始化其关联。
20:07
去想这个时候肯定是可以的,刚才看到了,而且这种方式还比较,还比较灵活,好了,除了两个以外的话呢,实际上还有一个方式,这个方式的话呢,我们后边讲三使用什么呀,使用一个叫open session in in real future,使用什么呢?使用这个open future什么意思呢?就是我知道这个页面加载完的话,我再关session,换句话说在页面加载的时候开session,这个时候也可以。那这个我们后边我们后边我们再说啊,后面再提一提项目里边的话呢,我们再提他行了,其他的没问题,这是我们实现的第一个功能。
21:02
那这里边儿的话呢,还有一个细节没有演示。没有员工的话会怎么样呀?List来employee employee等于employee.get然后employees.clear这个时候我是不是手工的方式把它干掉了呀,在数据库里边没有啊,数据库里边都去掉的话,我让填成本太高是吧?所以说的话呢,我这样去了一下,演示一下,这个时候是不是会显示没有任何员工信息。看到了吧,哎,我们整个这个嗯是OK的,行了,那下午的话呢,完成后边的功能,下课休息。
我来说两句