1 / 12

实例讲解 — 框架使用

实例讲解 — 框架使用. 根据公司已有项目保险系统讲解框架使用。. 北京平强软件有限公司. 一、 项目框架概述. 本框架采用 Maven 做为项目资源管理, ibatis3+proxool 做为数据库基础支持,以 filter (过滤器)拦截、转发请求,以 velocity 做为视图层技术。 Proxool 是一种 Java 数据库连接池技术。 Ibatis 是一半自动化的 ORM 框架。具体的 SQL 需要程序员编写,然后通过映 射配置文件,将 SQL 所需的参数,以及返回的结果字段映射到指定 POJO 。. 北京平强软件有限公司. 二、 代码路径.

binh
Download Presentation

实例讲解 — 框架使用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 实例讲解—框架使用 根据公司已有项目保险系统讲解框架使用。 北京平强软件有限公司

  2. 一、项目框架概述 • 本框架采用Maven做为项目资源管理,ibatis3+proxool做为数据库基础支持,以filter(过滤器)拦截、转发请求,以velocity做为视图层技术。 • Proxool是一种Java数据库连接池技术。 • Ibatis是一半自动化的ORM框架。具体的SQL 需要程序员编写,然后通过映 射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。 北京平强软件有限公司

  3. 二、代码路径 • 所有页面存放在Dove-Insure工程中src/main/resources/content目录下,再以模块名建包, • 同模块页面都放在此包下。 • java代码存放在Dove-Insure工程中Java Resources:java目录下,包名以org.rzzl开始,后接模块名,模块名后接功能名。如:org.rzzl.XXX.action;org.rzzl.XXX.service。 北京平强软件有限公司

  4. 二、代码路径 • java文件命名:action或service必须以名称+Action/Service,存放于其对应模块包、功能包下。如:XXXAction;XXXService • ibatis的xml文件:存放于/Dove-insure/src/main/resources/mappers包下。 北京平强软件有限公司

  5. 三.功能的实现-Action • Action:所有的action必须继承org.rzzl.core.base.AbstractAction类。AbstractAction中,已经封装了页面提交的请求request和response,requese和response为AbstractAction中的成员变量,可直接调用; 北京平强软件有限公司

  6. 三.功能实现-请求转发 • 请求转发规则:如一页面存放在src/main/resources/content/XXX包下,页面中有一form(表单)提交至YYY!ZZZ.action,则该requese(请求)会被转发至Java Resources:java目录下org.rzzl.XXX.action包中YYYAction类接收(YYYAction类必须继承org.rzzl.core.base.AbstractAction类),并直接调用其中的ZZZ方法处理该请求(该请求已经被AbstractAction类封装为AbstractAction的成员变量,子类可直接调用)。若未选择指定方法处理请求,如YYY.action,则默认执行YYYAction类中的execute方法,execute方法须覆盖父类(AbstractAction类)中的execute方法;若覆盖,则执行父类(AbstractAction类)中的execute方法,父类execute方法返回的视图模板是YYY.vm。 北京平强软件有限公司 北京平强软件有限公司

  7. 三.功能实现-数据库调用 • 数据库调用:框架中已经封装了BaseDao类(全路径为org.rzzl.core.base.BaseDao),此类为单例类,必须调用其静态方法newInstance()拿到其对象,从而通过对象,对数据库进行操作。此类中已经封装增、改、查方法,所有方法一般普遍有一或两种类型参数: • String型参数:一般为指定的xml文件中指定id的Sql语句,其规则为:xml命名空间名+“.”+Sql语句id,如:insure.selectInsure,则框架会自动寻找/Dove-Insure/src/main/resources/mappers包下名为Insure.xml中id为selectInsure的Sql语句执行。 • Object型参数:即在ibatis3下为Sql语句设置的参数。 北京平强软件有限公司

  8. 三.功能实现-数据库调用 • 方法列举: • 新增:insert(String iName,Object obj); • 修改:update(String iName,Object obj); • 删除:delete(String sName, Object obj); • 获取序列:getSequence(String seqName); • 查询:selectForList(String sName); • .selectForList(String sName,Object obj); • .selectForOne(String sName,Object obj);等。 北京平强软件有限公司

  9. 四.数据库事务管理 • 当添加、修改数据库时,必须添加事务,添加事务的方法:如一方法调用了BaseDao类,则该方法的方法名必须加前缀do。如:doYYY();doZZZ(); 北京平强软件有限公司

  10. 五.视图及页面跳转 • 本框架采用velocity做为视图层技术。 • 模板:模板为.vm格式文件,存放于src/main/resources/content/+模块名包下,其中写html代码+velocity代码。 • 模板调用及页面跳转:框架中已经封装VelocityUtil类(全路径:org.rzzl.core.base.VelocityUtil),调用对象的merge方法。merge方法中有两个参数:第一个参数为模板路径,如:XXX/YYY.vm,则框架会自动src/main/resources/content/XXX包下寻找名为YYY.vm的模板来使用。第二个参数为velocityContext,即上下文,即数据,velocityContext的使用方法基本同map,为键值对。merge方法把模板和数据融合,即把模板中velocity代码根据velocityContext中的键名替换为键所对应的数据,返回html格式的字符串,即页面,返回给客户端浏览器。 北京平强软件有限公司

  11. 六.规范 • 规范:页面跳转应写在Action的方法中,业务应写在Service层中,Action中的方法调用Service层。 北京平强软件有限公司

  12. Thank You ! 北京平强软件有限公司

More Related