个人设计的仿ROR的ActiveRecord型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来写。详细内容要经过测试后才可以放出来给大家共享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值