java 应用泛型精简curd代码

1.基础model类

package com.testcurd;

public class BasicModel {

	protected String table;

	public String getTable() {
		return table;
	}

	public void setTable(String table) {
		this.table = table;
	}
	
}

2.定义基本curd接口

package com.testcurd;

public interface CurdService<T extends BasicModel> {

	public void insert(T t);
	
	public void update(T t);
	
	public void delete(T t);
	
	public T select(T t);
}

3.基本curd实现

package com.testcurd;

public class CurdBasicServiceImpl<T extends BasicModel> {

	public void insert(T t) {
		System.out.println("insert into "+t.getTable());
	}

	public void update(T t) {
		System.out.println("update "+t.getTable());
	}

	public void delete(T t) {
		System.out.println("delete "+t.getTable());
	}

	public T select(T t) {
		System.out.println("select "+t.getTable());
		return null;
	}

}

4.分别定义两个具体的业务类及其service层

cat

package com.testcurd;

public class Cat extends BasicModel {

	
	public Cat() {
		this.table="cat";
	}
}

catService

package com.testcurd;

public interface CatService extends CurdService<Cat>{

}

catServiceImpl

package com.testcurd;

public class CatServiceImpl extends CurdBasicServiceImpl<Cat> implements CatService {

}

dog类

package com.testcurd;

public class Dog extends BasicModel {
	
	public Dog() {
		this.table="dog";
	}
}

dogService

package com.testcurd;

public interface DogService extends CurdService<Dog> {

}

dogServiceImpl

package com.testcurd;

public class DogServiceImpl extends CurdBasicServiceImpl<Dog> implements DogService {

}

5.测试

package com.testcurd;


public class TestUnit {

	
	public static void main(String args[]) {
		DogServiceImpl di=new DogServiceImpl();
		Dog d=new Dog();
		di.delete(d);
		di.insert(d);
		di.select(d);
		di.update(d);
		
		CatServiceImpl ci=new CatServiceImpl();
		Cat c=new Cat();
		ci.delete(c);
		ci.insert(c);
		ci.select(c);
		ci.update(c);
	}
	
}

结果

delete dog
insert into dog
select dog
update dog
delete cat
insert into cat
select cat
update cat

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值