智能领域对象设计(应用篇)

来看一个测试应用,对象是User:

@BeanTableName(name="z_user")
public class User extends ThinObject {

	@Primary
	String uid ;
	
	String uname;
	String rid;
	
	public User(String userid, String username) {
		super();
		this.uid = userid;
		this.uname = username;
	}
	
	public User() {
	}
	@Override
	public String toString() {
		return "(userid:"+uid+", username:"+uname+")";
	}
       
       //setter and getter
}

 测试类:

 

 

public class TestUser extends TestCase {

	static {
		new TryThinContext("zero");
		ThinContext.setDefaultSchema("zero");
	}
	
	public void testUpdate() throws SQLException{
		User user = new User("wanghh","王海洪");
		user.obtainMe();
		user.setUname("海洪");
		user.updateMemory("uname");
		System.out.println(user.rid);
		
	}
	
	public void testAdd() throws SQLException{
		User user = new User("thinery","王海洪");
		user.setRid("admin");
		user.remember();
	}
	
	public void testDelete() throws SQLException{
		User user = new User();
		user.setUid("thinery");
		user.forget();
	}
	
	public void testQuery() throws SQLException{
		User user = new User();
		List<Object> users = user.associate(SQLCriterion.get("rid", Operator.EQ, "marketing"));
		System.out.println(users);
		
	}
	
	@Override
	protected void tearDown() throws Exception {
		ThinContext.getThinContext().cleanHoldConection();
	}
}

 在看一个扩展的对象

 

public class Group  extends ThinObject{
	@Override
	public List associate(Object... params) {
		//获取自定义SQL
		String sql = sqls.getProperty("subGroupUser");
		List<Map<String,Object>>  datas =null;
		try {
			QueryBeanTable qbt = ThinContext.ctx.getQueryBeanTable("subGroupUser");
			qbt.setQuerySQL(sql);
			qbt.setParameters(params);
			datas =  qbt.query();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return datas;
	}
	
	/**
	 * 给组里添加新用户
	 * @param users
	 */
	public void add(User... users){
		//to write by yourself
	}
}

 

 

如果全部这样的方式编写,可以少写不少DAO,service,甚至全部不写。一切都在对象模型里了。这种对象模型一旦建立完成。相关系统就可以相互复用。就像一个车轮子可以供多个车型使用。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值