传智播客JAVA培训20100616

分享了作者在公司的首个项目经历,包括对项目的初步理解、技术选型、权限控制的实现方式及SQL语句的理解等。强调了扎实的基础知识在实际项目中的重要性。

上了一天班,放假三天。第一天在公司没有做任何事情,项目经理只是叫我熟悉整个项目,我对于整体也有一定的了解了。在这个过程中,我体现到了实践出真知的道理,还体现到的一点是:所有的项目都是以servlet/jsp作为基础,并且,如果java基础 以及 设计模式学得好的话,对项目中的代码的理解起着非常重要的作用,特别是那些优秀的框架,他们采用了很多的,优秀的算法,及其模式,只有你掌握其中的原理,你才可能体现到他们设计的精妙之处。希望各位都好好的将所有基础打好,路在脚下,路在前方,在这条路上咋们一起前进!

公司的项目没有采用struts,也没有采用spring,也没有采用hibernate。项目是采用的是ibatis,数据库采用的oracle,web层,是人们公司自己实现的一个框架,但是和汤阳光老师的项目中所采用的是一样的,用.xml来配置service层的类,通过反射机制来来动态加载service类,所有的service都继承自一个超类。而其也模仿的struts中的中央控制器的功能,所有的请求都由该servlet (实现自HttpServlet)处理,而该类根据请求决定要调用那一个service类,此处用到的所有service类的超类来接受,这么充分体现了抽象的好处,真的做到了可扩展性。以后,要定义新的功能模块的时候,只要继承该抽象类就可以了。

他的权限机制是也是通过一个service来实现的,当用户登录的时候,根据用户的id查取出所有的该用户的一级简单项目,显示。然后在根据用户的选择,根据用户ID及其一级菜单项目id就可以查出该一级菜单项下的二级菜单项了。由此实现权限控制。从实现的原理上看来,和spring security差不多。但是如果有很多公用荐呢?该如何处理?这应该是属于粗粒度的权限控制。

同时我在查看该模块时,对sql语句的掌握又进步了:

关于 FROM a,b 和 a LEFT JOIN b 的区别

例表

aid adate 

1 a1 

2 a2 

3 a3 

bid bdate 

1 b1 

2 b2 

4 b4 

两个表a,b相连接,要取出id相同的字段 

select * from a ,b where a.aid = b.bid这是仅取出匹配的数据

此时的取出的是

1 a1 b1 

2 a2 b2 

那么left join 

select * from a left join b on a.aid = b.bid 

首先取出a表中所有数据,然后再加上与a,b匹配的的数据 

此时的取出的是

1 a1 b1 

2 a2 b2 

3 a3 空字符 

同样的也有right join 

指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据 

此时的取出的是

1 a1 b1 

2 a2 b2 

空字符 b4 

上面的例子可以说是通俗易懂哦!看了就会一目了然!

进入公司的第一个项目模块还没有安排下来,但大致的方向已经说到了.

1.就是对excel文件的上传进行处理,分析其中的数据,然后存储到数据中!

2.如何采用itbais集成jbpm呢?因为之前都是使用的jbpm提供的自身的hibernate,其已经写了实体及其映射文件!

该项目自己的理解有不通的地方,或许是自己掌握不够深入:

1.对上传的处理,现在只支持图片的上传!而如果我现在要上传excel就是改变该类的源码,如果我以后又要上传其它不同类型的数据时,该如处理呢?因为他这儿采用的是直接就存储到数据库中了!我个人感觉不是要在service中来进行处理!不同的上传由不同的serivce进行处理。而只在其中进行数据的包装就可以了,将其封装在context中就可以(抽取出所有可能的使用的共有属性!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值