`
zhaohaolin
  • 浏览: 1017614 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

个人设计的仿ROR的ActiveRecord型Java框架

    博客分类:
  • JAVA
阅读更多

下面只是给出部分效果代码,希望有需要的朋友能一起来架设一个关于Java的敏捷开发框架。

这是采用Struts2.0的Action类

package action;


import bean.Company;
import bean.Department;

import com.util.lang.StringUtil;

@SuppressWarnings("serial")
public class CompanyAction extends BaseAction {

	private Company company;

	public CompanyAction() {
		company = new Company();
	}
	// 显示公司列表
	public String list() {
		tag("list");
		set("list", company.find_all());
		return SUCCESS;
	}
	public String toadd() {
		tag("toadd");
		set("list", company.find_all());
		return SUCCESS;
	}
	// 添加公司
	public String add() {
		tag("add");
		if (checkCname() || checkAddress()) {
			set("list", company.find_all());
			return SUCCESS;
		}
		company.add();
		msg("公司添加成功!");
		return list();
	}
	// 转到修改
	public String tomod() {
		tag("tomod");
		set("list", company.find_all());
		if (get("id") != null)
			company = (Company) company.find_reone("id=?", get("id"));
		return SUCCESS;
	}
	// 修改公司
	public String mod() {
		tag("mod");
		if (checkCname() || checkAddress()) {
			set("list", company.find_all());
			return SUCCESS;
		}
		if (company.getId() == company.getPid()) {
			set("list", company.find_all());
			msg("不能选择本公司作为上级公司!");
			return SUCCESS;
		}

		company.mod();
		msg("公司修改成功!");
		return list();
	}
	// 删除公司
	public String del() {
		tag("del");
		
		//如果此公司下有部门则不允许删除
		if (get("id") != null
				&&new Department().find_reone("cid=?",get("id"))!=null) {
			msg("此公司下还有部门,不允许删除!");
			return list();
		}
		//删除公司
		company.del(get("id"));
		msg("公司删除成功!");
		return list();
	}
	public Company getCompany() {
		return company;
	}
	public void setCompany(Company company) {
		this.company = company;
	}
	private boolean checkCname() {
		if (StringUtil.isEmpty(company.getCname())) {
			msg("请填写公司名称!");
			return true;
		}
		return false;
	}
	private boolean checkAddress() {
		if (StringUtil.isEmpty(company.getAddress())) {
			msg("请填写公司地址!");
			return true;
		}
		return false;
	}
}

 

下面给出相应的bean类代码

 

package bean;

import java.io.Serializable;

import com.abblie.jdbc.anno.Table;
import com.abblie.jdbc.mssql.ActiveRecord;

/**
 * 企业模型
 */
@SuppressWarnings("serial")
@Table(name = "company", key = "id")
public class Company extends ActiveRecord implements Serializable {

	private int id;// 公司id
	private int pid;// 上级公司id
	private String cname;// 公司名称
	private String address;// 公司地址
	private String logo;// 公司logo
	private String website;// 公司网站
	private String note;// 公司备注

	public String getLogo() {
		return logo;
	}
	public String getNote() {
		return note;
	}
	public String getWebsite() {
		return website;
	}
	public void setLogo(String logo) {
		this.logo = logo;
	}
	public void setNote(String note) {
		this.note = note;
	}
	public void setWebsite(String website) {
		this.website = website;
	}
	public String getCname() {
		return cname;
	}
	public int getId() {
		return id;
	}
	public int getPid() {
		return pid;
	}
	public void setCname(String cname) {
		this.cname = cname;
	}
	public void setId(int id) {
		this.id = id;
	}
	public void setPid(int pid) {
		this.pid = pid;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
}

 

代码测试成功,里面加了一个我们自己设计的数据库连接池。其它代码都可以通过JDBC来写。详细内容要经过测试后才可以放出来给大家共享。

分享到:
评论

相关推荐

    Java敏捷持久层-ROR-ActiveRecord持久层框架的Java实现

    在Java世界里,虽然Hibernate和JPA等框架已经非常成熟,但Ruby on Rails(ROR)中的ActiveRecord模式也受到了不少Java开发者的青睐,并有了一些移植到Java平台的实现。 ActiveRecord是一种对象关系映射(ORM)模式...

    RoR选题方向—源代码

    在深入研究RoR源代码时,建议先从官方文档和开源项目开始,例如GitHub上的Rails项目,这能帮助你理解框架的设计思路和实现细节。同时,参与开源社区,阅读他人的代码和贡献自己的代码,是提升技能和了解最新实践的好...

    Java与Ruby在Web开发上谁更高效

    在数据库层面,RoR的ActiveRecord模式鼓励开发者先设计数据库表,然后根据表结构生成对象。而Java中的Java Persistence API (JPA) 和Hibernate等框架允许开发者更专注于对象模型,而不是直接操作数据库,提供了更...

    ROR安装必备所有架包

    这个压缩包包含了一系列用于ROR框架的基础组件,但不包括Ruby本身。让我们深入了解一下这些包的作用和重要性。 首先,`actionpack`是Rails的核心组件之一,它提供了控制器、路由和视图等功能。`actionpack-1.13.5....

    Ruby on Rails实践之路给PHP和Java开发者的书

    对于Java开发者,他们可能更熟悉Spring Boot或者Java EE,这些框架相对复杂,而RoR则提供了一个更为简洁、灵活的解决方案。RoR的ActiveRecord是ORM(对象关系映射)的一个实现,它简化了数据库操作,使得开发者可以...

    Ruby on Rails为企业SOA做好准备了吗

    RoR的动态特性使得它在构建RESTful API时尤为高效,因为RESTful设计的核心是资源导向,这与RoR的数据模型和路由机制高度契合。RoR的ActiveRecord模式允许开发者轻松地处理数据库操作,而MVC架构则支持清晰的业务逻辑...

    ThinkPHP是一个快速、简单且基于MVC和面向对象的轻量级PHP开发框架.docx

    设计理念:ThinkPHP从Struts结构移植过来并做了改进和完善,同时借鉴了国外很多优秀的框架和模式,如RoR的ORM映射和ActiveRecord模式等。它融合了多种优秀思想,以高效、简洁、安全、可扩展为特点。 二、主要特点 ...

    RubyOnRails做的博客

    Ruby on Rails(简称RoR)是一个基于Ruby编程语言的开源Web开发框架,它遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码的可读性。在这个"RubyOnRails做的博客"项目中,我们可以看到作者用RoR...

    JavaEye论坛热点月报 总第5期

    3. **Gwt第三方组件、框架介绍**:Google Web Toolkit (Gwt) 是一个用于构建富互联网应用程序的Java框架。报告中介绍了开发者所接触的Gwt第三方组件和框架,这些资源扩展了Gwt的功能,帮助开发者更轻松地构建复杂的...

    etmvc:一个简易高效的web开发框架

    简易但不简单,其设计和实现借鉴业界众多的优秀框架,如struts,spring mvc,ror,grails等, 力图为Java开发人员提供一套高效的开发框架。 基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点 ...

    Ruby on Rails 入门级简介

    **Ruby on Rails**(简称 Rails 或 RoR)是一种基于 Ruby 语言的 Web 应用框架,它采用了模型-视图-控制器(MVC)架构模式。Rails 由 David Heinemeier Hansson 在 2004 年首次发布,迅速获得了开发者的青睐,尤其是...

    ruby on rails 101

    《Ruby on Rails 101》是一本介绍Ruby on Rails(简称RoR或ROR)的基础书籍,旨在为初学者提供一个全面而深入的学习框架。本书由Peter Marklund编写,包含了五天课程的演示文稿和相关资料,覆盖了从安装到实际应用...

    Power2php开发指南

    现在使用PHP开发也有了挺长的时间,接触了不少的开发框架,同时也发现了一些开发框架很多都照搬于JAVA或ROR的WEB开发框架,使不少初学者对某些功能难以理解,比如ActiveRecord.工作之余根据自己的开发经验和一些PHP牛人...

    Power2php开发指南.rar

    现在使用PHP开发也有了挺长的时间,接触了不少的开发框架,同时也发现了一些开发框架很多都照搬于JAVA或ROR的WEB开发框架,使不少初学者对某些功能难以理解,比如ActiveRecord.工作之余根据自己的开发经验和一些PHP牛人...

    Rebbin-开源

    Ruby on Rails(RoR)是一个使用Ruby编程语言开发的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。RoR强调“约定优于配置”(Convention Over Configuration)和“Don't Repeat Yourself”(DRY)...

Global site tag (gtag.js) - Google Analytics