77范文网 - 专业文章范例文档资料分享平台

Jeecms开发学习笔记(3)

来源:网络收集 时间:2019-04-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Jeecms开发学习笔记

}

public CmsGuestbook save(CmsUser member, Integer siteId, Integer ctgId, }

String ip, String title, String content, String email, String phone, String qq) {

CmsGuestbook guestbook = new CmsGuestbook(); guestbook.setMember(member);

guestbook.setSite(cmsSiteMng.findById(siteId)); guestbook.setIp(ip);

CmsGuestbookExt ext = new CmsGuestbookExt(); ext.setTitle(title); ext.setContent(content); ext.setEmail(email); ext.setPhone(phone); ext.setQq(qq);

return save(guestbook, ext, ctgId, ip);

这里必须知道的是,title,content,email,phone,qq是封装进CmsGuestbookExt里的,ctgId是在CmsGuestbookCtg里的,所以在这个实现类中还会有:

private CmsGuestbookCtgMng cmsGuestbookCtgMng; private CmsGuestbookExtMng cmsGuestbookExtMng;

第 11 页 共 18 页

Jeecms开发学习笔记

@Autowired {

@Autowired public

void

setCmsGuestbookCtgMng(CmsGuestbookCtgMng

}

this.cmsGuestbookExtMng = cmsGuestbookExtMng;

public void setCmsGuestbookExtMng(CmsGuestbookExtMng cmsGuestbookExtMng)

cmsGuestbookCtgMng) {

}

this.cmsGuestbookCtgMng = cmsGuestbookCtgMng;

封装进不同实体有很大的好处,可以防止在字段很多的情况下不会出现因为方法字段不是一一对应的,而出现映射混乱的问题(一般表现为有些字段储存入其他字段,而本身字段为Null)。当然代码也不会繁琐,隐藏bug少,便于数据管理。当然也有其坏处,会使得存储和查询效率降低,但是一般门户流量小,数据少,这些坏处可以忽略。

第二个红色框框标记的部分,是return上一个方法,封装到一个bean,MngImpl这一实现类,存储过程一般最后都要封装进一个bean的。

第一个红色框框走了dao接口,注意下面的代码声明了dao的注入:

@Autowired

public void setDao(CmsGuestbookDao dao) { }

this.dao = dao;

第 12 页 共 18 页

Jeecms开发学习笔记

3.3Dao和DaoImpl

3.3.1什么是Dao和DaoImpl?

也就是dao接口和实现类,是数据访问层的重要的类。因为Jeecms使用hibernate技术,且映射关系并不复杂(针对guestbook来说,包括one to one的guestbookext,many to one的guestbookctg,但是并不难理解),而且并不需要多么复杂的数据处理。对于小型门户,hibernate就够用了。Dao和DaoImpl与Mng和MngImpl的理解是相似的,不详细介绍了。

4.实体类

4.1为什么使用实体类?

我们找一个简单的例子:

import javax.persistence.Column; import javax.persistence.Entity;

import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator; @Entity

@Table(name=\public class User {

第 13 页 共 18 页

Jeecms开发学习笔记

@Id

@GeneratedValue(generator=\

@GenericGenerator(name = \@Column(length=32) private String id;

@Column(length=32) private String userName;

public String getId() { }

return id;

public void setId(String id) { }

this.id = id;

public String getUserName() { }

return userName;

public void setUserName(String userName) {

第 14 页 共 18 页

Jeecms开发学习笔记

}

}

this.userName = userName;

注意到username都是private,而他的get和set方法都是public,这意味这什么呢?外面的方法是无法访问到username的,只有使用get和set方法访问,这样保证了username的安全性,不会因为代码误编而导致错误。Java就是面向对象编程,这句话大家都是知道的,装进一个实体里,这样就很容编译了,这就是为什么使用实体。

4.2id的作用

再看guestbook的两个实体CmsGuestbook和它的父类BaseGuestbook,关于它的字段以及get和set方法我们就不再赘述,看下面的代码:

false;

else {

com.jeecms.cms.entity.assist.CmsGuestbook

cmsGuestbook

=

public boolean equals (Object obj) {

if (null == obj) return false;

if (!(obj instanceof com.jeecms.cms.entity.assist.CmsGuestbook)) return

(com.jeecms.cms.entity.assist.CmsGuestbook) obj;

}

}

if (null == this.getId() || null == cmsGuestbook.getId()) return false; else return (this.getId().equals(cmsGuestbook.getId()));

public int hashCode () {

if (Integer.MIN_VALUE == this.hashCode) {

第 15 页 共 18 页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Jeecms开发学习笔记(3)在线全文阅读。

Jeecms开发学习笔记(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/621657.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: