当前位置: 首页 > news >正文

张家界住房和城乡建设局网站/安徽网络推广和优化

张家界住房和城乡建设局网站,安徽网络推广和优化,WordPress的theme父主题命名,wordpress电脑安装教程视频代码生成器的使用 正如许多J2EE整合开发框架一样,Jeesite也提供了代码生成器,我们可以通过配置,利用它来生成一个独立模块的各层次的基础部分,其中包括: Entity,即实体类。对应MVC的Model部分。其继承了Common模块中的…

代码生成器的使用

正如许多J2EE整合开发框架一样,Jeesite也提供了代码生成器,我们可以通过配置,利用它来生成一个独立模块的各层次的基础部分,其中包括:

  • Entity,即实体类。对应MVC的Model部分。其继承了Common模块中的模板类BaseEntity。
  • DAO层,封装了对实体类的CRUD操作,相应地继承了模板类BaseDAO。
  • Service层,封装底层,并加了一些基础功能,作为服务层。
  • Controller层,对应MVC的C部分。相应继承了抽象类BaseController。
  • JSP,对应MVC的View部分。代码生成器会生成xxxList和xxxForm两个JSP页面,分别用以展示和增删改查数据条目。此处的XXX为类名。

代码生成器的使用非常简单,首先找到com.thinkgem.jeesite.generate包下的generate类。首先根据注释,自行定义新模块的包名、模块名、类名、功能名、类作者名的对应变量。其中:

  • 包名.模块名.是生成的新模块各个层次的包,默认会生成entity、dao、service、web四个包。而WEB-INF/views/modules/下会生成一个模块名的文件夹。该文件夹为上面提到的两个JSP页面。
  • 类名就对应四个包下类名前缀,若类名为Sign,则四个包下的四个类分别为Sign、SignDAO、SignService、SignController。
  • 功能名是为了说明功能模块的作用,会在生成的JSP中包含对应信息。而类作者名则会加到生成类的注释中。
    配置好这些后,对generate类选择RUN AS - Java Application即可。由于该类包含Main()方法,是可执行的。然后它会读取com.thinkgem.jeesite.generate.template下的6个ftl文件——这是freemaker模板引擎使用的文件——最后填入对应的配置变量,生成如前所述的4个类和2个JSP页面。

最后要运行这个生成模块的话,还需手动在数据库中建立对应的数据表,数据表除了在实体类中定义的属性外,还必须包含del_flag、remarks、create_by、create_date、update_by、update_date这几个字段。这是因为实体类要继承DataEntity这个抽象类,此类中定义了这些属性,后续的查询、排序中要用到这些字段。

代码生成器各部分解析

代码生成器实际为我们生成了MVC的各个层次,下面结合代码,分析一下各部分的原理。

Entity实体层

首先,任何Entity都是继承了IdEntity这个抽象类,IdEntity主要提供实体类的id属性及其对应setter和getter方法。这样生成的entity就继承了这个属性。关于com.thinkgem.jeesite.common.persistence包下几个基础Entity类的关系可以表示如下:IdEntity--->DataEntity--->BaseEntity。这样每个生成的Entity就继承了包括id、del_flag、remarks、create_by、create_date、update_by、update_date在内的属性。其中id是利用util中的IdGens生成的uuid,即生成的id不会自增。而是一段字母+数字的唯一组合。若对id有auto_increment的要求,则需要考虑重写IdEntity类。

Dao层

实际上,所有代码生成的dao都是直接继承了common中的BaseDao类,继承后的子类并未添加任何属性和方法。在此就主要针对BaseDao类分析。总的来说,BaseDao主要是在Hibernate提供的数据库操作基础上,封装了Page、parameter参数。这里的Page是作为展示页面的对象,而Parameter是继承了HashMap<String, object>的哈希字典。BaseDao就针对实体对象,提供了find、get、save、update等几类操作,每种操作根据参数的不同有几种函数重载形式。而对删除操作,这里是通过deleteById来设置del_flag字段的布尔值进行逻辑删除的。如果要进行真实的表中某行数据删除,需要我们自己写对应的操作函数。

Service层

新模块的Service层一般都有一个dao对象的属性,然后在dao的基础上进一步封装,加入一些其它有用功能的服务。由于不同模块提供的服务不尽相同,这里就不好进行概括了。而BaseService类则是提供了根据用户角色的DATA_SCOPE进行数据过滤。

Controller层

新建模块的Controller主要使用Spring提供的Annotation,把访问Url与实际的Jsp页面映射起来,与此同时使用Service、Dao对象提供的数据库操作函数,这样就可以在页面上对数据库进行增删改查。而不同Controller继承的BaseController则主要通过封装BeanValidator提供对服务端参数有效性验证。例如我们通过页面向数据库添加实体对象时,可以利用BaseController进行Bean的校验,验证通过后再保存对象。关于BeanValidator较为详细的介绍可以参考这里。

http://www.jmfq.cn/news/5013721.html

相关文章:

  • 便宜网站建设公司哪家好/网站关键词快速排名优化
  • 虚拟主机建设二个网站/站长工具友链检测
  • 在大学里网站建设属于什么专业/网络营销经典成功案例
  • wordpress 宅男猫网站/二级域名网站免费建站
  • 通过阿里云建设企业网站/网站域名在哪里查询
  • 调用wordpress的文章编辑器/南京seo按天计费
  • 做百度药材种苗网站/刺激广告
  • 网站建设发票/百度推广一个关键词多少钱
  • 如何设计营销 网站建设/百度资源站长平台
  • 公司网站设计规划/青岛seo网站管理
  • 武汉城市建设学院招生网站/湖南企业竞价优化
  • 企业制作网站公司/公司网站制作模板
  • 做网站导航cms/如何推广seo
  • 响应式网站和展示式区别/sem是什么仪器
  • 网站微信推广方案/网站查询域名ip
  • 调研报告 政府网站建设/国内产女装一线二线品牌知乎
  • 中远智达网站建设/网站优化分析
  • 网站公司怎么做的好/推广软件的app
  • 台州网站建设费用/上海搜索引擎优化1
  • 深圳网站设计制作建设/seo实战培训课程
  • 新乡网站制作/网站页面关键词优化
  • 司机找事做那个网站靠谱/计算机培训机构排名前十
  • 重庆网站平台/北京网站建设东轩seo
  • 怎么创建网站相册/seo点击排名工具有用吗
  • 禹州做网站的公司/seo如何提升排名收录
  • 北京所有公司名单/seo外包公司需要什么
  • 怎么做能收费的视频网站/宁波关键词优化时间
  • 怎么查网站是哪家制作公司做的/百度客户管理系统登录
  • 连云港网站制作/seo快速排名培训
  • 怎么做网站链接支付/seo实战培训中心